TomoGのごちゃまぜ倉庫

Unityで時間制御(使用関数編)

今回と次回で、Unityで時間制御をまとめたいと思います。
今回は、時間制御に使用する関数編です。

次回↓
tomog.hatenablog.com

◆関数1

public class Sample : MonoBehaviour
{
    float duration;

    void Start()
    {
        duration = 0;
    }

    void Update()
    {
        duration += Time.deltaTime;
    }
}

Time.deltaTimeを使う一般的な手法

◆関数2

    float start;

    void Start()
    {
        start = Time.realtimeSinceStartup;
    }

    public float getNowTime()
    {
        return (Time.realtimeSinceStartup - start);
    }

こちらはTime.realtimeSinceStartupを使う手法

■違い

deltaTimeは1フレーム前実行にかかった時間を保持しています
参照:スクリプトカンファレンス

しかし、realtimeSinceStartupはゲーム開始から現在までの時間をリアルタイムで取得しています
参照: スクリプトカンファレンス

そのため、より厳密な時間を測ろうとした場合や、処理の内容が大きく変わるなど処理時間が変わるであろう場合は、realtimeSinceStartupを使うべきだと思います