我在游戏中有一个“活动物理场景”,它处理所有游戏物理。 我有第二个物理场景(只包含碰撞体/刚体,不包含渲染)。 在这个第二个物理场景中,我希望有一个与第一个相同的物理模拟副本。 第二个场景将仅到达指定的时间步长目标,然后停止。 第二个场景是通过协程创建的,模拟是通过协程逐步推进的,目前是手动触发测试。 当我启动协程时,我的延迟条件会影响模拟结果。 如果我使用“yield return new WaitForFixedUpdate()”,我会得到一个与第一个相同的副本模拟,正如所期望的。 这很好,但因为它依赖于固定时间步长,所以速度有点慢。 如果我使用“yield return null”,我的模拟会与第一个模拟分叉。 这种方法是有吸引力的,因为它会更快地运行并更快地达到指定的时间步长目标。 在两种情况下,我都调用了PhysicsScene2D.Simulate(Time.fixedDeltaTime)相同的次数。 且Physics2D.simulationMode被设置为“脚本”状态。 模拟在更快的速度下分叉的原因是什么? 模拟仍然以相同的固定时间步长为步长,步数相同。 我非常感谢您的帮助!