MRが楽しい

MRやVRについて学習したことを書き残す

Unityでアプリ開始からの経過時間と経過フレームを取得する

本日は 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 関数が実行され、その時点までの経過時間と経過フレームが取得できました。