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

本文介绍了Unity中关于时间管理的关键属性:Time.time、Time.realtimeSinceStartup、Time.FixedTime、Time.deltaTime、Time.fixedDeltaTime和Time.timeScale。Time.timeScale用于控制游戏时间的快慢,而Time.deltaTime和Time.fixedDeltaTime分别提供了动态和固定的帧率更新间隔。在暂停游戏时,Time.realtimeSinceStartup依然会增加。

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降低相同的量。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值