Overview: Keeping Track of Time Manual     Reference     Scripting  
Scripting
Overview: 時間との同期(Keeping Track of Time)

Timeクラスはとても重要 なクラス変数であるdeltaTimeを持っています。この変数は最後にUpdate関数かFixedUpdate関数の呼出から経過した時間を表します (スクリプトを書いている場所に応じて)。

1つ前の例では、オブジェクトを回転させるのに固定値を用いていましたが、フレームレートに依存しないように実装する には次のように記述します:

function Update() {
transform.Rotate(0, 5 * Time.deltaTime, 0);
}

オブジェクトの異動は次のようになります:

function Update() {
transform.Translate(0, 0, 2 * Time.deltaTime);
}

マイフレームごとに値を加減する場合は、Time.deltaTimeと かけ合わせることが必要です。Time.deltaTimeと 掛け合わせることで、望んだ通りに、オブジェクトを10m/フレームではなく、10m/秒で動かすことが出来ます。これは、フレームレートに依存せずに動 く利点だけでなく、動作に使われる単位時間が分かりやすくなる利点もあります。(10m/秒)

次の例では、光源の範囲を時間に応じて拡大したい場合です。次のコードは半径を毎秒2ユニットずつ拡大します。

function Update() {
light.range += 2.0 * Time.deltaTime;
}

リジッドボディを力学に応じて動かす場合、通常はTime.deltaTimeを かけ合わせないでください。ゲームエンジンが自動的に行ないます。