Unity3D中Time.timeScale

官方说明:https://docs.unity3d.com/ScriptReference/Time-timeScale.html

结论

1:Time.timeScale默认值为1,范围为[0,100]。Time.timeScale是全局的,不是针对某个场景的。
2:Time.timeScale影响Unity3D提供的Time类中的所有变量,除了realTimeSinceStartupTime.fixedDeltaTime
3:Time.timeScale并不影响Update,LateUpdate的执行速度。只影响FixedUpdate的执行速度。当Time.timeScale=0时,FixedUpdate不再执行,但并不影响Update,LateUpdate。

  • 3.1
    直觉中,之所以Time.timeScale会影响Update,实质上影响的是Time类中的变量,比如在Update中根据Time.deltaTime来设置物体的位置,当Time.timeScale增加,那么Time.deltaTime值也会增加,视觉上导致物体移动的速度变快了。
  • 3.2
    FixedUpdate是固定时间执行的。通过ProjectSttings->Time->FixedTimestep来设置。默认值为0.02秒。即正常情况下每秒执行50次。
    因为FixedUpdate是与时间有关的,因此当降低Time.timeScale后,FixedUpdate执行速度则会相应降低。
    若fps很低,则会出现每帧FixedUpdate执行多次的情况。若fps高于50,会出现隔几帧FixedUpdate才执行一次的情况。因此对Input相关的侦听千万不要放到FixedUpdate中执行,会在fps高于50帧的时候,出现监测不到的情况。

其他

关于FixedUpdate可详细参考:FixedUpdate真的是固定的时间间隔执行吗?聊聊游戏定时器

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

iningwei

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值