Version: Unity 6.0 (6000.0)
言語 : 日本語
時間の変動の処理
キャプチャフレームレート

ゲーム内時間とリアルタイム

Time.timeScale プロパティは、ゲーム世界でのリアルタイムに対する相対的な時間の経過率を定義します。Time.timeScale 値が 1.0 の場合は、ゲーム内時間がリアルタイムと一致することを表します。値を 2.0 にすると、ゲーム内の時間が現実世界の 2 倍速くなり、ゲーム内のアクションが速くなります。値を 0.5 にすると、ゲームプレイは半分のスピードに減速します。値を 0 にすると、ゲーム内時間が完全に停止します。

Time.timeScale は実際には実行を遅くしませんが、代わりに Time.deltaTimeTime.fixedDeltaTimeUpdate 関数と FixedUpdate 関数に報告される時間ステップを変更します。

Update 機能は、タイムスケールを縮小した場合にも同じ高頻度で呼び出される可能性がありますが、各フレームの Time.deltaTime の値は小さくなります。他のスクリプト関数はタイムスケールの影響を受けないため、例えばゲームが一時停止しているときに通常のインタラクションで GUI を表示できます。

スローモーションなどの特殊な時間効果では、ゲーム時間の経過を遅くして、コード内のアニメーションや時間ベースの計算を低速で行うようにすると有効な場合があります。さらに、ゲームの一時停止時のように、ゲーム時間を完全に凍結することが必要な場合があります。

Time ウィンドウには、タイムスケールをグローバルに設定できるプロパティがありますが、通常は、Time-timeScale プロパティを使用してスクリプトから値を設定する方が簡便に処理できます。

//C# script example
using UnityEngine;
using System.Collections;

public class ExampleScript : MonoBehaviour {
    void Pause() {
        Time.timeScale = 0;
    }
    
    void Resume() {
        Time.timeScale = 1;
    }
}

追加リソース

時間の変動の処理
キャプチャフレームレート
Copyright © 2023 Unity Technologies
优美缔软件(上海)有限公司 版权所有
"Unity"、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属机构在美国及其他地区的商标或注册商标。其他名称或品牌是其各自所有者的商标。
公安部备案号:
31010902002961