包含此页的版本:
不含此页的版本:
通过将 模拟模式(Simulation Mode) 更改为 脚本(Script) 来防止默认物理更新循环运行,以减少不必要的性能开销。
如果你的游戏不需要对默认物理进行物理模拟,那么阻止默认物理更新循环运行可能是有益的场景场景包含游戏的环境和菜单。将每个唯一的场景文件视为一个独特的关卡。在每个场景中,你放置你的环境、障碍物和装饰品,基本上是将你的游戏设计和构建成碎片。更多信息
请参阅术语表.例如,您的游戏可能只需要物理查询,例如光线投射、球体投射或重叠检查,但不需要刚体允许游戏对象受到模拟重力和其他力影响的组件。更多信息
请参阅术语表具有力、重力或物理驱动运动的组件。
此方法使用物理查询碰撞当物理引擎检测到两个游戏对象的碰撞器接触或重叠时,当至少一个游戏对象具有刚体组件并且处于运动状态时,就会发生碰撞。更多信息
请参阅术语表检测或环境交互,而无需进行完整物理模拟的性能成本,并且它保持对变换数据同步时间的控制。
如果将默认场景的 模拟模式(Simulation Mode) 设置为 脚本(Script),请注意以下事项:
Transform组件,它们在物理引擎模拟物理系统各个方面的系统,使物体能够正确加速并受到碰撞、重力和其他力的影响。更多信息Transform逐帧定位(因为在此模式下默认情况下不发生模拟步骤)。Physics.autoSyncTransforms是false(其默认和推荐设置),您必须手动调用Physics.SyncTransforms在执行查询之前,每帧一次。此函数显式更新物理系统,其中包含游戏对象Unity 场景中的基本对象,可以表示角色、道具、风景、相机、航路点等。游戏对象的功能由附加到它的组件定义。更多信息Physics.autoSyncTransforms设置为true,则此同步在每次查询之前隐式发生,但对于每次查询之前同步的潜在开销,这通常不是推荐的最佳实践。请注意Physics.autoSyncTransforms已弃用。若要了解如何同步转换,请参阅优化转换值同步。Physics.SyncTransforms调用(当autoSyncTransforms是false),查询可能会使用过时的对象位置并导致不正确的结果。要防止默认物理更新在编辑器中运行,请执行以下作:
要在脚本中禁用自动模拟,请将Physics.simulationMode = SimulationMode.Script;在运行时。