包含此页的版本:
不含此页的版本:
手动控制物理模拟以决定何时进行物理计算,以使物理更新与应用程序的实际性能保持一致,并避免冗余更新。这有助于优化繁忙帧期间的性能,并且对于需要与游戏逻辑或自定义物理更新循环紧密同步的场景非常有用。
手动控制物理模拟以:
Time.deltaTime,可能会导致模拟不稳定,并导致诸如物体相互穿过等问题,这种现象称为隧道效应,在低帧速率下或帧速率波动时出现抖动行为。Time.deltaTime增加。模拟具有较大可变增量的物理步骤可能会占用大量计算资源且精度较低,从而可能使性能问题恶化。用Physics.Simulate(float stepTime)(或yourPhysicsScene.Simulate(float stepTime))手动控制物理仿真,具体地控制局部PhysicsScene实例。请参阅多场景物理学习教程,了解有关多场景物理的更多信息。
当您调用Physics.Simulate,建议的最佳实践是使用固定的时间步长,而不是直接传递Time.deltaTime.例如,使用您可能在项目设置(Project Settings) 广泛的设置集合,允许您配置物理、音频、网络、图形、输入和项目的许多其他区域的行为方式。更多信息
请参阅术语表’固定时间步长一个可自定义的与帧速率无关的间隔,用于指示何时执行物理计算和 FixedUpdate() 事件。更多信息
请参阅术语表值,例如 0.02 表示 50Hz。
如果您在场景场景包含游戏的环境和菜单。将每个唯一的场景文件视为一个独特的关卡。在每个场景中,你放置你的环境、障碍物和装饰品,基本上是将你的游戏设计和构建成碎片。更多信息
请参阅术语表用Physics.Simulate(),请确保禁用自动模拟。你可以通过将 模拟模式(Simulation Mode) 设置为 脚本(Script) 来做到这一点。进入脚本模式(通过项目设置或脚本)后,你必须调用Physics.Simulate以选定频率使用适当的(最好是固定的时间步长)的场景。
要禁用自动模拟,请在编辑器中:
要禁用自动模拟,请在脚本中将Physics.simulationMode = SimulationMode.Script;.通常,你在游戏开始时执行此作,然后再进行任何物理模拟。