如何在Unity中禁用物理系统

12

我想使用Unity引擎开发原生的安卓应用程序,并且不需要使用物理引擎,是否可以在Unity中为特定项目禁用物理引擎?


实际上,我希望设置这样的方式:当我的应用程序在设备上启动时,它不应加载整个物理类,因为这对我的应用程序来说是额外的负担。你有什么想法吗? - Muhammad Ameen
3个回答

26

如何在Unity中禁用物理系统

过去是不可能的,但如果你使用的是Unity 2017或更新版本,现在是可以实现的。

禁用物理模拟:

Physics.autoSimulation = false;

启用物理模拟

Physics.autoSimulation = true;

对于2D,请使用Physics2D.autoSimulation

这样做后,请确保您的脚本中没有FixedUpdate()函数,否则物理引擎不会被模拟。我也会将固定时间步长设置为尽可能小。

实际上,我希望设置为当我的应用在设备上启动时,它不应加载所有的物理资源类。

不行,这个不能做到。把这个忘了吧。如果您的应用程序加载非常慢,您需要在其他地方查找问题,而不是 Physics API。例如使用 Resources 文件夹,这很慢。此外,您应该简化主场景,只使用 UI 使其加载更快,然后使用LoadAsyncScene来加载其余的场景。确保在加载时禁用音频解压缩。您可以搜索 "Unity optimize load time" 以获取更多有关此信息的内容。


5
从Unity 2019开始,您可以使用“Unity Package Manager”完全禁用内置包。引用它们的代码将无法编译,并且它们不会包含在您构建的应用程序中。 Unity Package Manager文档


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