Unity关于Time.timeScale详解

本文详细解析了Unity中Time.timeScale对Update、LateUpdate和FixedUpdate的影响。实际上,timeScale并不会改变Update和LateUpdate的执行速度,但会影响FixedUpdate的调用频率以及与时间相关的效果。当Time.timeScale为0时,FixedUpdate停止调用,而Time.timeScale的变化会改变游戏时间的缩放比例,影响基于时间的逻辑。此外,文章还探讨了如何在NGUI和粒子特效中处理timeScale的影响。
摘要由CSDN通过智能技术生成

Time.timeScale变化后会影响谁?大多数的回答都是:“Time.timeScale可以控制Update 和LateUpdate 的执行速度,FixedUpdate还是按正常时间来执行。”

这就是理解错误了,一定要纠正一下错误的观点,正确的应该是:

1:“timeScale不会影响Update和LateUpdate的执行速度

2:“FixedUpdate是根据时间来的,所以timeScale只会影响FixedUpdate的速度

粉红色的回忆。。。

我写了一个例子,大家来看一下就明白了,由于排版问题,代码粘贴上来会乱,我就直接截图了。

Time.timeScale = 0 的话所有的Update都不执行了。今天测试了一下发现原来不是这样的,无论Time.timeScale 等于多说Update和LateUpdate都会去执行,不信你可以自己做个实验看看。


先解释下代码中Time.realtimeSinceStartup - _lastUpdateTime( _lastLateUpdateTime, _lastFixedUpdateTime)

就是获得真实的每次调用Update,LateUpdate,FixedUpdate方法的时间间隔,也可以用RealTime.deltaTime.


当TimeScaleParam = 1:



当TimeScaleParam = 5:

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值