TIme.time 受缩放影响的游戏运行时间
unscaletime 不受缩放影响的游戏运行时间
realtimesincestartup 游戏真实运行时间,从开始到结束的时间
deltatime 一帧开始到一帧结束的时间 受缩放影响
unscaledDeltaTime 不受缩放影响的一帧开始到一帧结束的时间
fixeddeltatime 固定一帧的时间 0.02秒
fixedtime 固定时间 受缩放影响 于time时间差不多一致
Time.timeScale 时间缩放,影响deltatime fixedtime time,关键是deltatime
deltatime会影响fixedupdate
update 渲染刷新 只要有渲染就会刷新
fixedupdate 固定刷新,0.02秒更新一次 但是如果0.02小于实际更新时间就会重复更新
而实际更新时间受ime.timeScale影响
当ime.timeScale=0时 deltatime就会等于0,就不会进入fixedupdate 物体停止状态
当ime.timeScale=1时 0.02秒一帧更新一次
当ime.timeScale=2时 0.04秒一帧更新两次
当ime.timeScale=3时 0.06秒一帧更新三次
下面的是在update中测试的 在fixedupdate中deltatime就是0.02秒 固定了 而且暂停后也deltatime也是0.02 就测不出来
而deltatime是一帧开始到一帧结束的时间,当time.timeScale=100时 一帧就要更新100次,
所以我这里的deltatime是
这个是我机器太差太卡了,如果用unity的单步执行 deltatime的时间就是2,受缩放影响的时间也是以2增加
以前没有unscaletime不受缩放影响时间 这个方法的时候要自己做
既然是不受缩放影响,那么就是unscaledDeltaTime - deltatime
缩放暂停时 deltatime=0 unscaledDeltaTime - deltatime=不受缩放暂停的时间
如果是正常速度 或者倍速 比如10倍 ,deltatime受缩放影响,得到的是一帧是更新了10次后的时间
那么一帧/10就可以得到 不受倍数影响的时间
Time.unscaledDeltaTime 就是这么做的
此时deltatime/10等到的还是正常速度的 一帧时间,得到正常时间那就可以什么都不用做了,
this.transform.Rotate(speed * Time.unscaledDeltaTime, 0, 0);
这个就没啥了