【Unity】关于Time.timescale的见解

本文围绕项目中接触到的Time.timescale展开。介绍了其对Update、LateUpdate和FixedUpdate执行速度的影响,如不影响前两者,只影响后者。还探讨了不同取值下各函数的执行情况,指出它可控制游戏速度,等于0时冻结依赖Time的逻辑,等于1时恢复正常,等于n时为n倍速。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在我的一个项目中,接触到了Time.timescale,同时也出现了一些Bug,所以写下这篇博文。

首先先了解一下Time.timescale:

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

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

那么当Time.timescale = 0时;update,Lateupdate,Fixedupdate会不会执行呢?

答案是update,Lateupdate会执行;但是Fixedupdate不会执行;

当Time.timescale = 1时,此时Unity的时间机制是正常的。

update,Lateupdate,Fixedupdate在同一时间内都执行了一次。

当Time.timescale = 5时,update,Lateupdate,在同一时间内都执行了一次,Fixedupdate执行了五次;

FixedUpdate被调用的时间也是不受timescale影响的,只跟我们在Unity的Edit下的projecSetting里面设置的fixedTimestep有关系,那为什么跑了5次呢?因为timescale=5,时间被拉长,在这么长的时间里FixedUpdate按照fixedTimestep来计算总共跑了5次,所以也可以说FixedUpdate是受到timescale影响的。

也可以这么说Time.timescale可以控制游戏的速度;

当它等于0时,所有依赖于Time 的逻辑或者刚体速度会被冻结,也就是不会运行这些逻辑;

当它等于1时,游戏时间恢复正常;

当它等于n时,游戏此时的时间倍速为n;

 

 

(个人拙见,欢迎大佬指正~)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值