如何在Unity中禁用Metal

7

Unity有一个设置可以自动选择图形API。

由于某些原因,当使用Metal时,我的游戏性能要低得多;目前我不想让Metal作为一个选项,但仍然希望它可以自动选择Open GL ES 2.0或3.0。

我正在使用Unity 5.0。


1
这个问题主要是询问如何在流行的游戏开发工具Unity的配置中完成一个任务。由于它涉及到一个专业领域的工具,而不是编程本身,所以应该发布在Game Dev Stack Exchange上。但我认为它太旧了,无法迁移。 - Slipp D. Thompson
Unity不仅仅用于游戏开发,还可以用来开发生产力应用。Unity只是另一个集成开发环境(IDE),尽管它具有许多功能。因此,这个问题完全符合主题。 - gman
2个回答

13

对于Unity 5.0,Lee的回答可能是正确答案。 从Unity 5.1开始,您可以在播放器设置中指定首选的API及其优先级。

https://unity3d.com/unity/whats-new/unity-5.1: 图形:添加了一种在播放器设置中显式指定图形API的方法(默认为每个平台的“自动”)。例如,您可以指定仅在iOS构建中支持Metal+ES2,或仅在Windows构建中支持DX11(不带DX9回退)等。这取代了“使用DX11”和“目标iOS / GLES图形”设置。

在以下示例中,如果可用,将优先选择ES3而非ES2,并且即使可用也不会选择Metal。 screenshot


0

我认为这可能是......

在 "Preprocessor.h" 文件中

#if defined(__IPHONE_8_0) && !TARGET_IPHONE_SIMULATOR
    #define UNITY_CAN_USE_METAL     0
#else
    #define UNITY_CAN_USE_METAL     0
#endif

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接