時間の経過をスケールします。これはスローモーション効果で使用できます。
TimeScale
が 1.0 のとき、時間はリアルタイムと同じ早さで過ぎていきます。
TimeScale
が 0.5 のとき、時間はリアルタイムより2倍遅く過ぎていきます。
すべての関数がフレームレートの独立している場合、TimeScale
をゼロに設定していると、基本的にゲームを一時停止します。
ref::realtimeSinceStartup を除いて timeScale
はすべての時間とデルタ時間を測定する Time クラスの変数が影響します。TimeScale
を低くした場合、同じ量でもより低い Time.fixedDeltaTime を勧めます。TimeScale
がゼロに設定されている場合、FixedUpdate 関数は呼び出されません。
// Toggles the time scale between 1 and 0.7 // whenever the user hits the Fire1 button.
function Update () { if (Input.GetButtonDown ("Fire1")) { if (Time.timeScale == 1.0) Time.timeScale = 0.7; else Time.timeScale = 1.0; // Adjust fixed delta time according to timescale // The fixed delta time will now be 0.02 frames per real-time second Time.fixedDeltaTime = 0.02 * Time.timeScale; } }
using UnityEngine; using System.Collections;
public class ExampleClass : MonoBehaviour { void Update() { if (Input.GetButtonDown("Fire1")) { if (Time.timeScale == 1.0F) Time.timeScale = 0.7F; else Time.timeScale = 1.0F; Time.fixedDeltaTime = 0.02F * Time.timeScale; } } }