【Unity】重要时间:Time、RealTime、FixedTime、DeltaTime、FixedDeltaTime、Timescale

发布于:2021-12-07 19:42:37

Time.time

返回某一帧开始播放的值(只读)。该时间是游戏开始运行后以秒为单位记录的值。


如果在单个帧中多次调用,返回相同的值。


在FixedUpdate函数中调用时,返回Time.fixedTime的值。


它更倾向于提供游戏运行时间,而不是每帧的开始时间。


?


Time.realtimeSinceStartup

返回游戏开始运行后,以秒为单位的实际时间(只读)。


而一般情况下都会使用Time.time


它不受Time.timeScale的影响。当你想通过将Time.timeScale设置为零来暂停游戏时,它就可以用来记录游戏实际运行的时间,因为它在游戏暂停时仍然会继续增加。


需要注意的是,它返回的是系统计时器报告的时间。 根据*台和硬件的不同,几个连续的帧可能返回相同的时间(与Time.time的主要区别)。 如果你按时差来划分某些东西,请务必考虑这一点(因为时差可能会变为零!)。


?


Time.FixedTime

(个人感觉这个0.0应该不用介绍)



?


Time.deltaTime

上一帧结束后经过的时间间隔(以秒为单位)(只读)。


例如:使用Time.deltaTime在y方向上移动GameObject,每秒n个单位,则 y方向值 += n*Time.deltaTime


需要注意的是,FixedUpdate()函数使用Time.fixedDeltaTime,而不是Time.deltaTime


?


Time.fixedDeltaTime

执行物理计算和其他固定帧速率更新FixedUpdate()函数)的时间间隔(以秒为单位)。


Time.fixedDeltaTime可以自行赋值。


对于读取增量时间,建议使用Time.deltaTime。


?


Time.timeScale

表示时间流逝的规模。 该变量可用于慢动作效果。


值为1时,时间和实时一样快。


值为0.5时,时间比实时慢2倍。


值为0时,如果所有功能都与帧速率无关,则游戏基本暂停,不会调用FixedUpdate()函数。


除了Time.realtimeSinceStartup,它会所有Time类变量。


如果降低Time.timeScale,还建议将Time.fixedDeltaTime降低相同的量。

相关推荐

最新更新