unity中Time.delaTime简单解释
在项目中控制物体移动,物体的运动速度忽快忽慢。
这是由于物体的位置变化是按照帧率刷新的。
/// <summary>
/// 每帧刷新
/// </summary>
void Update()
{
transform.Translate(0, 0, 10); //物体沿着自身Z轴方向,每帧物体移动10米
}
有时会因为Update()的刷新频率不一样,而导致有的单位时间Update刷新帧率60帧,有的单位时间只有10帧;而由于每一帧的移动距离都是10米,这就导致我们的感官上移动速度产生了变化。
为了解决这个问题,而引入了Time.delaTime
/// <summary>
/// 每帧刷新
/// </summary>
void Update()
{
transform.Translate(0, 0, Time.deltaTime * 10); //物体沿着自身Z轴方向,每秒物体移动10米
}
可以理解为10米=(1/60 * 10米/秒) *60 ,帧速率是60,Time.deltaTime是一个1/60切割器,把10米/秒切成60份,然后在一秒钟内执行60次。
由于我们把每秒均匀的按帧率n次分为n份,每帧跑10米的n分之一,这样在视觉上物体就是匀速运动了。