Unity的TimeScale和Time.time,Time.deltaTime的关系
首先TimeScale是直接影响Time.deltaTime的
Time.time又是Time.deltaTime的相加
所以TimeScale变成多少,Time.deltaTime和Time.time就会按相应的数值变化;
例如; TimeScale为2倍速时.Time.deltaTime的值是正常每帧执行时间的两倍,Time.time同理。
以下为测试输出的结果:
输出信息分别为 TimeScale + Time.deltaTime + Time.time + System.DateTime.Now
TimeScale对各种Update的影响
1.Update
输出:
结论:TimeScale不会影响Update的执行速度。
2.协程
-1:WaitForSeconds
输出:
结论:WaitForSeconds 会受到TimeScale的影响而变化执行速率
-2:WaitForEndOfFrame
输出:
结论:(输出的前缀忘了改了别介意) TimeScale不会影响WaitForEndOfFrame的执行速度。
总结:协程的执行速度是否受到影响是根据协程的返回值决定的。
3.FixedUpdate
输出:和协程的FixedUpdate的数据输出的一样
结论:FixedUpdate的执行速度会随着TimeScale的增大而变快。但是执行速率不变,但是回因为Time.time的变快的同时执行速度变快。
4.LateUpdate
输出:文章开头的测试数据为LateUpdate的数据
结论:TimeScale不会影响LateUpdate的执行速度。