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


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;

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM