Unity的timeScale影响范围

刚开始使用Unity,在照着教程做弹球游戏,设置了通过终点和跳下跑道两边两种终止情况,发现小球在触发游戏终止条件的时候并没停止,确切的说是左右方向的运动停止了,但还在向前运动。

在网上搜了下这个问题,再回头看我的代码发现跟timeScale有关系。球的左右移动我利用了Time.deltaTime,而向前的滚动则没有,而根据别人的经验总结如下:

1.timeScale不影响Update和LateUpdate,会影响FixedUpdate

2.timeScale不影响Time.realtimeSinceStartup,会影响Time.timeSinceLevelLoad和Time.time

3.timeScale不影响Time.fixedDeltaTime和Time.unscaleDeltaTime,会影响Time.deltaTime

timeScale会影响Time.deltaTime,也就是说我没有在小球的向前运动中加入deltaTime,则timeScale变成0时并不会使小球停止向前。

另外看到有朋友用的addForce方式让小球运动的,既不是写在FixedUpdate里面,而且去掉deltaTime也一样能成功使球停下,这是为什么呢?虽然不清楚addForce的源码,但从物理上想,ft=mv,输入的是力,终究还是要转化成速度和位移,这个t还是必须要的,所以我猜想这个方法的实现用到了deltaTime。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值