docs.unity3d.com
    目次を表示する/隠す

    変数

    変数は、アプリケーションの実行時に変更される可能性のある一塊の情報のコンテナとして機能します。変数を定義するには、それに名前 (MyVariable など)、変数が格納するデータの型 (int、string など) 、値 (1、cat など) を指定します。

    Visual Scripting では、Script Graph (スクリプトグラフ) の実行時に、固定の値やテキストではなく変数の名前をノードに付けることができます。Script Graph は変数の名前を使用してその値にアクセスします。例えば、型が int で値が 1 の Count という変数を使用するとします。Visual Scripting で Add ノードを使用して Count の値に 1 を追加し、Count 内に新しい値を保存して、同じ Script Graph の別の部分あるいは別の Script Graph で再使用することができます。

    変数にはスコープもあります。変数のスコープによって、Script Graph のどの部分がどの変数にアクセスしてその値を読み取ったり変更したりできるかが決まります。また、別の Script Graph がその変数にアクセスできるかどうかもスコープによって決まる場合があります。

    グラフ内の変数は Blackboard から作成および管理できます。Blackboard に関する詳細は Blackboard を参照してください。

    変数のスコープ

    変数スコープはそれぞれ Blackboard 上に独自のタブを持っています (Flow 変数は除く)。Visual Scripting には以下の 6 つの変数スコープがあります。

    変数スコープ プロパティ
    Flow Variable Flow 変数は、スクリプティング言語におけるローカル変数のようなもので、もっとも小さなスコープを持っています。以下の場合には Flow 変数は使用できません。
    • Flow 変数が、その値を使用したいノードへの直接的または間接的な接続を持たない場合。変数の定義されているノードは、その値を使用したいロジカルフローの一部である必要があります。
    • Flow 変数が、Visual Scripting がその値を必要とするロジックの実行を試みる前に設定されていない場合。変数の定義されているノードは、グラフ内の他のロジックの前に来る必要があります。
    Flow 変数は Blackboard からは作成できません。Set Variable ノードを使用し、Scope を Flow に設定することで作成できます。
    Graph Variable Graph 変数は特定の Script Graph に属します。Graph 変数は、それが定義されている特定の Script Graph の外からは、アクセスしたり変更を加えたりすることができません。
    また、Graph ウィンドウに Script Graph が開かれていないと、新しい Graph 変数は作成できません。
    Object Variable Object 変数は特定のゲームオブジェクトに属します。Object 変数は、ゲームオブジェクトの Unity Inspector から編集でき、そのゲームオブジェクトに添付された全てのグラフからアクセス可能です。
    新しい Object 変数の作成は、ゲームオブジェクトの Script Machine コンポーネントから Script Graph を開いた場合にしか行えません。
    Scene Variable Scene 変数は現在のシーンに属します。Scene 変数への参照を格納するための新しいゲームオブジェクトが Visual Scripting によってシーン内に作成されます。Scene 変数には、1 つのシーン内の異なるゲームオブジェクトに添付されたどの Script Graph からでもアクセス可能ですが、プロジェクト内の別のシーンの Scene 変数にアクセスすることはできません。
    App or Application Variable Application 変数はアプリケーション全体に属します。Application 変数には、アプリケーションの実行中に複数のシーンでアクセス可能です。Application 変数は変更を格納します。
    Application 変数内に格納された全ての値は、アプリケーションが終了されるとデフォルト値にリセットされます。
    Saved Variable Saved 変数は、Application 変数に似ていますが、アプリケーションの終了後も維持される点が異なります。Saved 変数は、単純でありながら強力な保存システムとして使用できます。Saved 変数は Unity によってその PlayerPrefs 内に保存され、ゲームオブジェクトやコンポーネントのような Unity オブジェクトを参照しません。PlayerPrefs に関する詳細は Unity スクリプティング API の PlayerPrefs に関するセクション を参照してください。
    Note

    Graph ウィンドウに State Graph (ステートグラフ) が開かれていても Blackboard にアクセスして新しい変数を作成することはできますが、State Graph に変数を追加することはできません。

    Saved 変数には、Blackboard に Initial と Saved の 2 つの追加的なタブが表示されます。

    • Initial タブで定義された値は、アプリケーションの全ての新しいインスタンスにデフォルト値として適用されます。

    • Saved タブで定義された値は、(アプリケーションの最後の実行時に基づく) その変数の最後に変更された値です。これは手動で編集可能なほか、値を削除して Initial タブで定義された値にリセットすることも可能です。

    Initial タブと Saved タブに定義された Saved 変数の比較

    トップに戻る
    Copyright © 2023 Unity Technologies — 商標と利用規約
    • 法律関連
    • プライバシーポリシー
    • クッキー
    • 私の個人情報を販売または共有しない
    • Your Privacy Choices (Cookie Settings)