UpdateとFixedUpdateの違い
Update
・可変フレームレートで実行される。すなわち各フレーム間の時間間隔が異なる。
処理落ちが発生すると、呼ばれる頻度が少なくなる。
FixedUpdate
・固定フレームレートで実行される。すわなち各フレーム間の時間間隔が同じ。
多少の?処理落ちであっても呼ばれる回数は同じ。
Updateを停止させる
・ポーズ画面のように画面のオブジェクトを止めるにはTime.timeScaleを使う。
Time.timeScale
・時間の経過速度を設定できる。
・0にすると停止するのでポーズさせたいときは0にする。
Update関数の挙動
関数名 | Update | FixedUpdate |
---|---|---|
関数の呼び出し回数(scale=2) | 変化なし | 2倍 |
関数の呼び出し回数(scale=0) | 変化なし | 0(呼ばれない) |
(fixed)deltaTime(scale=2) | 2倍 | 変化なし |
(fixed)deltaTime(scale=0) | 0 | 変化なし |
結論
・ポーズ画面に備える場合、以下の対応をする。
- Updateで時間がからむ処理の場合、Time.deltaTimeを設定する。
- FixedUpdateの場合、特に対応不要。(timeScale=0で止まるので。)