本日は Unity の小ネタ枠です。
Unityでアプリ開始からの経過時間と経過フレームを取得する方法を記事にします。
Time.time
アプリ開始からの経過時間は UnityEngine.Time.time 関数で取得可能です。
docs.unity3d.com
厳密にはアプリ開始から本関数を実行したフレームの開始時点までの秒数を取得します。
Time.frameCount
アプリ開始からの経過フレームは UnityEngine.Time.frameCount 関数で取得可能です。
docs.unity3d.com
フレームカウントは 0 オリジンでフレームごとに加算されていきます。
動作確認
以下のサンプルスクリプトを用意しました。
・TimeTest.cs
using UnityEngine; public class TimeTest : MonoBehaviour { void Start() { Debug.Log($"再生からの経過時間:{Time.time:0.00}秒"); Debug.Log($"再生からの経過フレーム:{Time.frameCount}"); } }
サンプルスクリプトを無効化したゲームオブジェクトにアタッチしてシーンを再生します。
ゲームオブジェクトを有効化すると Start 関数が実行され、その時点までの経過時間と経過フレームが取得できました。