首先 Update()每一帧都会被调用,对于帧更新它是主要的负荷函数。
所以放在Update()函数中的代码是以帧来执行的.如果我们需要物体的移动以秒来执行.我们需要将物体移动的值乘以Time.deltaTime。
如果你加或减一个每帧改变的值,你应该与Time.deltaTime相乘。当你乘以Time.deltaTime实际表示:每秒移动物体10米,而不是每帧10米。
代码语言:javascript复制void Update () {
//每秒移动物体10米
float translation= Time.deltaTime * 10;
transform.Translate (0, 0, translation);
}
deltaTime是你这一帧到上一帧经历的时间。 假设一秒走10帧,每帧不太稳定,间隔时间不一样,用 t0,t1,t2...t9来表示,他们们满足 t0 t1 t2 ... t9 = 1 现在你定义了一个速度 V=5,意思是想要1秒走5米,现在设每帧所走的路程是 s0,s1,s2,...s9 满足 s0=V*t0,s1=V*t1,s2=V*t2,...s9=V*t9 那么看看1秒走了多少路程: S = s0 s1 s2 ...s9 = V*(t0 t1 t2 ... t9) =V*1 =V =5