INDIE INDEX

制作

デルタタイムとは|前のコマから今のコマまでに経った時間

言葉の意味

デルタタイムは、画面を1コマ描いてから次の1コマを描くまでに、実際に経った時間のことです。単位は秒です。

ゲームは、画面を何度も描き直しながら進みます。この描き直しの間隔は、いつも同じではありません。遊ぶ人の機械の速さや、そのときの重さによって伸び縮みします。その伸び縮みを、そのまま数として受け取ったものがデルタタイムです。

必要になる理由

Godot の公式ドキュメントは、デルタタイムを使う理由を、画面の描き直しの回数に左右されない計算をするためだと書いています。動く物の速さの値には、いつもこの値をかけるべきだとしています。

かけずに書くと、画面を1コマ描くたびに同じだけ動くことになります。すると、速い機械では速く、遅い機械では遅く進んでしまいます。かけておけば、どの機械でも同じ時間で同じ距離だけ進みます。

実際の使われ方

Godot では、_process(delta) の引数として渡されます。この値は、前に _process() が呼ばれてから経った秒数です。呼ばれる回数は、そのアプリの画面の描き直しの回数によって決まり、時間によっても機械によっても変わります。

物の動きの計算のほうは _physics_process(delta) が受け持ち、こちらは決まった間隔で呼ばれます。Godot の初期値は1秒あたり60回です。

Unity では Time.deltaTime として読み出します。この値は、前のコマから今のコマまでの秒数です(読み取り専用)。物の動きの更新の中から呼んだときは Time.fixedDeltaTime が返り、上限は Time.maximumDeltaTime で決まります。時間の進み方の倍率(Time.timeScale)に応じて値が変わり、倍率を0にして止めると、この値も0になります。

Unity の公式の資料は、値が当てにならない場合も書いています。1コマのあいだに何度も呼ばれる処理の中、最初の1コマ、そしてアプリが背面に回っているときです。

情報源

デルタタイムが出てくるページ0

この言葉は、いまサイトにあるほかのページには出ていません。

近くにある言葉

同じところで使うツール