時間の経過をスケールします。これはスローモーション効果で使用できます。
When timeScale
is 1.0 the time is passing as fast as realtime.
When timeScale
is 0.5 the time is passing 2x slower than realtime.
When timeScale
is set to zero the game is basically paused if all your functions are
frame rate independent.
ref::realtimeSinceStartup を除いて timeScale
はすべての時間とデルタ時間を測定する Time クラスの変数が影響します。TimeScale
を低くした場合、同じ量でもより低い Time.fixedDeltaTime を勧めます。TimeScale
がゼロに設定されている場合、FixedUpdate 関数は呼び出されません。
using UnityEngine;
public class Example : MonoBehaviour { // Toggles the time scale between 1 and 0.7 // whenever the user hits the Fire1 button.
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 = 0.02f * Time.timeScale; } } }