変数
変数は、アプリケーションの実行時に変更される可能性のある一塊の情報のコンテナとして機能します。変数を定義するには、それに名前 (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 変数は使用できません。
|
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 タブで定義された値にリセットすることも可能です。