うにてぃブログ

主にUnityとC#に関する記事を書いていきます

【Unity】Time クラスの static 変数

たまに扱いを間違うのでメモ

Time.timeScale

一部の再生速度を変更する

Time.deltaTime

最後のフレームからの経過時間であり、値が一定では無い
主に Update で利用する

Time.fixedDeltaTime

固定フレームレート更新で利用する値、値が固定されている
物理演算の処理や、FixedUpdateで利用する

Time.time

起動時から現在フレームまでの時間

Time.fixedTime

起動時から FixedUpdate が呼ばれるまでの時間

Time.unscaledDeltaTime

Time.timeScale に影響されない、最後のフレームからの経過時間

Time.fixedUnscaledDeltaTime

Time.timeScale に影響されない固定フレームレート時間

Time.unscaledTime

Time.timeScale に影響されない、起動時から 現在フレームが呼ばれるまでの時間

Time.fixedUnscaledTime

Time.timeScale に影響されない、起動時から FixedUpdateが呼ばれるまでの時間

Time.smoothDeltaTime

値が大きく変化しない deltaTime
deltaTime は スパイクが発生し、突然大きな値になる可能性があるがこれはある程度均一化してくれる

Time.realtimeSinceStartup

起動時からの経過時間

Time.frameCount

フレーム数の合計値

TIme.maximumDeltaTime

FixedUpdate や物理演算の 1フレームあたりの 最大時間

TIme.maximumParticleDeltaTime

パーティクルが利用できるUpdateの最大時間

Time.inFixedTimeStep

固定フレーム呼び出しのメソッド内で利用されているかどうか

public static float Time => Time.inFixedTimeStep ? Time.fixedDeltaTime : Time.deltaTime;

みたいな実装をすれば意識する必要なく deltaTimeが取れそう

Time.captureDeltaTime

動画を保存したい際などにフレームレートを一定にできる

Time.captureFramerate

動画を保存したい際などにフレームレートを一定にできる

Time.timeSinceLevelLoad

最後にシーンがロードされてからの経過時間