游戏内时间与现实时间
The configurable relationship between in-game time and real time and the potential effects.
阅读时间2 分钟最后更新于 1 个月前
Time.timeScale 属性定义游戏世界中时间相对于现实时间的流逝速率。 值为 1.0 表示游戏内时间与现实时间一致。值为 2.0 会使游戏中的时间流逝速度是现实世界中的两倍,游戏中的动作会加快。值为 0.5 会将游戏速度减慢到半速。值为零会使游戏内时间完全停止。
Time.timeScaleTime.timeScaleUpdateFixedUpdate当你降低时间缩放比例时,你的 函数被调用的频率可能依旧不变,但每一帧中 的值将会变小。其他脚本函数不受时间缩放的影响,所以举例来说,当游戏暂停时,你可以显示一个能进行正常交互的 GUI。
UpdateTime.deltaTime对于诸如慢动作之类的特殊时间效果,有时放慢游戏时间的流逝是很有用的,这样代码中的动画和基于时间的计算就能以更慢的节奏进行。此外,有时可能希望完全冻结游戏时间,就像游戏暂停时一样。
时间 (Time) 窗口有一个属性可用于全局设置时间标度,但使用 Time-timeScale 属性从脚本设置该值通常更有用:
//C# script exampleusing UnityEngine;using System.Collections;public class ExampleScript : MonoBehaviour { void Pause() { Time.timeScale = 0; } void Resume() { Time.timeScale = 1; }}