【发布时间】:2019-11-28 18:24:30
【问题描述】:
根据我对this diagram 的理解,Update() 在每个游戏周期被严格调用一次,而FixedUpdate() 在 Unity 想要做物理时被调用 0 到多次。是真的吗?
我不确定的是,物理步骤通常落后于当前时间还是领先于当前时间?换句话说,Unity 是如何决定是否做物理的,比如while (currentTime - previousPhysicsUpdateTime >= fixedDeltaTime) 还是while (currentTime > previousPhysicsUpdateTime)?
或者以上都不是?
【问题讨论】:
-
物理和渲染完全分离。物理发生在固定的时间步长上,与您的帧速率无关。如果你的帧率真的很高,多帧就不能物理更新,如果你的帧率真的很低,可以有多个。你不能真的(也不应该)试图预测/试图约束两者。
标签: unity3d