Time.deltaTime-“帧间时间”,通常用在Update()函数中,需要同时处理游戏逻辑和物理相关时。使用Time.deltaTime使变化与游戏帧速率无关。
在控制游戏逻辑的过程中,一般是需要按照每帧去处理的(使用Update())。
而物理相关的处理,则需要根据时间的变化去处理(使用FixedUpdate())。
在同时处理游戏逻辑和物理相关时(如处理GameObject的Transform),在逻辑处理函数(Update())中,计算 物理变化位移 = 物理变化速度 * 每次的“帧间时间”,即 将每次帧率的变化,通过时间的变化同步体现到执行逻辑上。
请注意从OnGUI里你不应该依赖于Time.deltaTime,因为OnGUI可以在每帧被多次调用并且每个调用deltaTime将持有相同的值,直到下一帧再次更新。
Update():每帧被调用一次。而每帧相隔的时间不一定一致(可能大于Time.fixedDeltaTime,亦可能小于Time.fixedDeltaTime)。
FixedUpdate():每隔Time.fixedDeltaTime被调用一次。通常用于处理与时间相关的物理处理。
Time.fixedDeltaTime默认是0.02s,可以通过Edit->ProjectSettings->Time来设置。