在我的游戏中,我有一个“活跃物理场景”,它处理所有的游戏物理。 我有第二个物理场景(只包含碰撞器/刚体,没有渲染)。 在这个第二个物理场景中,我想让它有一个与第一个相同的物理仿真副本。 这个第二个场景只会向指定的时间步长目标前进,然后停止。 第二个场景是在协程中创建的,并且在当前手动触发测试中,仿真是被推进的。 当我启动协程时,我得到的仿真结果会根据我的yield条件而不同。 如果我使用“yield return new WaitForFixedUpdate()”,我就会得到一个与第一个相同的副本仿真,如期望的那样。 这很好,但因为它依赖于fixedTimestep,所以速度会稍慢。 如果我使用“yield return null”,我的仿真会从第一个分歧。 这个方法是有吸引力的,因为它会更快地运行,并且会更快地达到指定的时间步长目标。 在两种情况下,我都在调用PhysicsScene2D.Simulate(Time.fixedDeltaTime)相同的次数。 此外,Physics2D.simulationMode被设置为“脚本”在两种情况下。 什么能解释在更快的速度下推进仿真时分歧的仿真? 仿真仍然是在相同的fixedDeltaTime时间步长下推进,同样地推进了相同的时间步长。 我们非常感谢任何帮助!