C# Time.deltaTime 增量时间

2020-08-02 17:42:32 浏览数 (1)

首先 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

0 人点赞