时间流逝的标度。可用于慢动作效果。
当 timeScale
为 1.0 时,时间流逝的速度与实时一样快。
当 timeScale
为 0.5 时,时间流逝的速度比实时慢 2x。
当 timeScale
设置为 0 时,如果您的所有函数都是独立于帧率的,
则游戏基本上处于暂停状态。timeScale
影响 Time 类的所有时间和增量时间测量变量(但 realtimeSinceStartup 和 fixedDeltaTime 除外)。
如果您减小了 /timeScale/,建议也将 Time.fixedDeltaTime 减小相同的量。
当 timeScale
设置为 0 时,不会调用 FixedUpdate 函数。
using UnityEngine;
public class Example : MonoBehaviour { // Toggles the time scale between 1 and 0.7 // whenever the user hits the Fire1 button.
private float fixedDeltaTime;
void Awake() { // Make a copy of the fixedDeltaTime, it defaults to 0.02f, but it can be changed in the editor this.fixedDeltaTime = Time.fixedDeltaTime; }
void Update() { if (Input.GetButtonDown("Fire1")) { if (Time.timeScale == 1.0f) Time.timeScale = 0.7f; else Time.timeScale = 1.0f; // Adjust fixed delta time according to timescale // The fixed delta time will now be 0.02 frames per real-time second Time.fixedDeltaTime = this.fixedDeltaTime * Time.timeScale; } } }