unity---为什么用Time.deltaTime * speed 表示每秒移动的距离的理解

大憨熊 提交于 2019-11-29 10:01:08

Time.deltaTime:代表时间增量,即从上一帧到当前帧消耗的时间, 这个值是动态变化的。

 

 

dt 表示 deltaTime.

假如 1s渲染10帧,沿X轴方向的移动速度 speed = 10m/s,

那么1s移动的距离为 distance = dt1 * speed + dt2 * speed + dt3 * speed + dt4 * speed + dt5 * speed + dt6 * speed + dt7 * speed + dt8 * speed + dt9  * speed + dt10 * speed

因为: dt1 + dt2 + dt3 + dt4 + dt5 + dt6 + dt7 + dt8 + dt9 + dt10 = 1s;

distance = (dt1 + dt2 + dt3 + dt4 + dt5 + dt6 + dt7 + dt8 + dt9 + dt10) * speed ;

所以:

void update(){

  transform.Translate(Time.deltaTime * speed , 0 , 0);

}

表示每秒移动10m;

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!