如何统一禁用物理系统
Posted
技术标签:
【中文标题】如何统一禁用物理系统【英文标题】:How to disable physics system in unity 【发布时间】:2017-09-06 10:02:53 【问题描述】:我想在unity引擎中开发原生android应用,并且不需要使用物理,是否可以在unity中为特定项目禁用物理引擎。
【问题讨论】:
实际上我想要设置,比如当我的应用程序在设备中启动时它不应该加载整个物理类,因为这些是我的应用程序的额外负载。关于它的任何想法 【参考方案1】:如何统一禁用物理系统
这在过去是不可能的,但如果您拥有 Unity 2017 及更高版本,现在可以。
禁用物理模拟:
Physics.autoSimulation = false;
启用物理模拟
Physics.autoSimulation = true;
对于 2D,请使用 Physics2D.autoSimulation
。
完成此操作后,请确保您的任何脚本中都没有 FixedUpdate()
函数。物理不会模拟。我还将固定时间步设置为尽可能小。
实际上我想要我的应用在设备中启动时的设置 不应加载整个物理类
不,你不能这样做。忘掉它。如果您的应用程序加载速度很慢,您需要在其他地方寻找问题而不是物理 API。一个例子是使用 Resources 文件夹。这是非常缓慢的。此外,您应该仅使用 UI 简化主场景以使其加载更快,然后使用 LoadAsyncScene
加载其余场景。确保在加载时禁用音频解压缩。您可以谷歌“Unity 优化加载时间”了解更多信息。
【讨论】:
【参考方案2】:从 Unity 2019 开始,您可以使用“Unity 包管理器”完全禁用内置包。引用它们的代码将无法编译,并且它们不会包含在您构建的应用程序中。
Unity Package Manager Documentation
【讨论】:
【参考方案3】:http://answers.unity3d.com/questions/139550/how-to-disable-physics.html 此外,您可以在此处禁用分层碰撞: https://docs.unity3d.com/Manual/class-PhysicsManager.html
【讨论】:
以上是关于如何统一禁用物理系统的主要内容,如果未能解决你的问题,请参考以下文章