State Graph ノード
Visual Scripting には以下の 4 つの種類のノードがあり、これらを使用して、ゲームオブジェクトとその State Machine (ステートマシン) に添付された State Graph (ステートグラフ) の識別と操作を行うことができます。
Set State Graph
Set State Graph ノードを使用すると、特定の State Machine あるいは、特定のゲームオブジェクトに添付された最初の State Machine に、State Graph を割り当てることができます。
項目 | 説明 | |
---|---|---|
Node Parameters | ||
![]() |
Container Type | Target が GameObject か State Machine かを指定します。 |
入力ポート | ||
![]() |
Enter | (Input Trigger) ノードの実行入力トリガー |
![]() |
Target | (GameObject または State Machine) ノードが Graph を設定するゲームオブジェクトあるいは State Machine |
![]() |
Graph | (State Graph Asset) ノードが Target に設定する State Graph |
出力ポート | ||
![]() |
Exit | (Output Trigger) 実行出力トリガー |
![]() |
Graph | (State Graph Asset)(任意) Graph を出力します。 |
必要なノードパラメーターと入力の設定
Set State Graph ノードには必要な入力パラメーターが 1 つあります。これは Container Type と呼ばれ、ノードのヘッダー内のドロップダウンメニューで設定されます。Container Type は、ノードがその Target の入力として受け取るコンポーネントの型を指定します。
GameObject を選択すると、ノードはゲームオブジェクトの受け取りを待機し、そのゲームオブジェクトに添付された最初の State Machine にグラフを割り当てます。
State Machine を選択すると、ノードは State Machine の受け取りを待機します。State Graph を設定したい特定の State Machine を指定できます。
選択された Container Type に応じて、ノードの Target 入力ポートの横に表示されるアイコンが以下のように変化します。
Container Type | Target アイコン |
---|---|
GameObject | ![]() |
State Machine | ![]() |
このノードは左側に 3 つの入力ポートを持っています。最初のポートは Enter で、これは Set State Graph ノードの実行を開始するノードに接続されます。
他の 2 つのポートは、Set State Graph ノードの必要とする以下の入力データを取得します。
Target (State Graph を設定したいゲームオブジェクトまたはスクリプトマシン)
Graph (ゲームオブジェクトまたはスクリプトマシンを添付したい State Graph)
出力
Set State Graph ノードは右側に 2 つの出力ポートを持っています。
最初のポート Exit は、Set State Graph ノードの終了後に実行するべきノードへの接続を確立します。
2 つ目のポート Graph は、このノードを使用して割り当てた State Graph を出力できます。
Has State Graph
Has State Graph ノードを使用して、ゲームオブジェクトあるいは State Machine に特定の State Graph を割り当てるかどうかを設定できます。
項目 | 説明 | |
---|---|---|
ノードパラメーター | ||
![]() |
Container Type | Target を GameObject にするか State Machine にするか指定します。 |
入力ポート | ||
![]() |
Enter | (Input Trigger) ノードの実行入力トリガー |
![]() |
Target | (GameObject or State Machine) ノードが Graph を探すべきゲームオブジェクトまたはスクリプトマシン |
![]() |
Graph | (State Graph Asset) ゲームオブジェクトまたはステートマシン上で探すべき State Graph |
出力ポート | ||
![]() |
Exit | (Output Trigger) 指定の State Graph を探した後にフロー内の次のノードの実行を開始する、実行出力トリガー |
![]() |
Has Graph | (Boolean) ノードが指定の State Graph を見付けた場合は true を出力し、見付からなければ false を出力します。 |
必要なノードパラメーターと入力の設定
Has State Graph ノードには必要な入力パラメーターが 1 つあり、これは Container Type と呼ばれ、ノードのヘッダー内のドロップダウンメニューで設定されます。Container Type は、ノードがその Target の入力として想定すべきコンポーネントの型を指定します。
GameObject を選択すると、ノードはゲームオブジェクトの受け取りを想定し、ゲームオブジェクトに添付された最初の State Machine 上のグラフを探します。
State Machine を選択すると、ノードは State Machine の受け取りを想定します。見付けたい State Graph がある特定の State Machine を指定できます。
選択された Container Type に応じて、ノードの Target 入力ポートの横に表示されるアイコンが以下のように変化します。
Container Type | Target アイコン |
---|---|
GameObject | ![]() |
State Machine | ![]() |
このノードは左側に 3 つの入力ポートを持っています。最初のポートは Enter で、これは Has State Graph ノードの実行を開始するノードに接続されます。
他の 2 つのポートは、Has State Graph ノードの必要とする以下の入力データを取得します。
Target (State Graph を設定したいゲームオブジェクトまたはスクリプトマシン)
Graph (ゲームオブジェクトまたはステートマシンを添付したい State Graph)
出力
Has State Graph ノードは、指定の State Graph を見付けると true
を返し、そうでない場合は false
を返します。
Has State Graph の出力ポートに接続された制御ノードを使用して、Has State Graph の結果に応じてスクリプトが次に実行する操作を変更できます。 制御ノードに関する詳細は、制御ノード を参照してください。
Get State Graph
Get State Graph ノードは、ゲームオブジェクトに添付された最初の State Graph を返します。
項目 | 説明 | |
---|---|---|
入力ポート | ||
![]() |
GameObject | (GameObject) ノードが取得する State Graph が設定されたゲームオブジェクト</ |
出力ポート | ||
![]() |
Graph | (State Graph Asset) ゲームオブジェクトに設定された最初の (あるいは唯一の) State Graph を出力します。State Graph が設定されていない場合は null を出力します。 |
必要なノードパラメーターと入力の設定
Get State Graph ノードはデータノードです。これはスクリプト内のロジックを制御することはできず、データを返すためだけに使用されます。
このノードは左側に以下の 1 つの入力ポートを持っており、これはノードが必要とする入力データを取得します。
- ノードが取得すべき State Graph の添付されたゲームオブジェクト。特定のゲームオブジェクトを選択するか、あるいはデフォルトの This を選択してスクリプトが現在実行しているゲームオブジェクトを使用することができます。
出力
Get State Graph ノードは右側に 1 つの出力ポートを持っています。この出力ポートはゲームオブジェクトに設定された最初の State Graph を返します。State Graph が設定されていない場合は null
を返します。
Note
Get State Graph ノードは、ゲームオブジェクトに設定された最初の State Graph のみを返します。ゲームオブジェクトに設定された全ての State Graph を返すには Get State Graphs ノード を使用してください。
Get State Graphs
Get State Graphs ノードは、ゲームオブジェクトに設定された全ての State Graph のリストを返します。
項目 | 説明 | |
---|---|---|
入力ポート | ||
![]() |
GameObject | (GameObject) ノードが取得する State Graph のリストを持つゲームオブジェクト |
出力ポート | ||
![]() |
Graphs | (State Graph Asset のリスト) ゲームオブジェクトに設定された全ての State Graph のリストを出力します。設定された State Graphs がない場合は空のリストを出力します。 |
必要なノードパラメーターと入力の設定
Get State Graphs ノードはデータノードです。これはスクリプト内のロジックを制御することはできず、データを返すためだけに使用されます。
このノードは左側に以下の 1 つの入力ポートを持っており、これはノードが必要とする入力データを取得します。
- ノードが取得すべき State Graph のリストを持つゲームオブジェクト。特定のゲームオブジェクトを選択するか、あるいはデフォルトの This を選択してスクリプトが現在実行しているゲームオブジェクトを使用することができます。
出力
Get State Graphs ノードは右側に出力ポートを 1 つ持っています。出力ポートは、ゲームオブジェクトに設定された全ての State Graph のリストを返します。設定された State Graph がない場合は空のリストを返します。