ノード
ノードは、Visual Scripting でのスクリプト作成における最も基本的な部分です。ノードは様々なことを実行できます。例えば、イベントをリッスンしたり、変数の値を取得したり、ゲームオブジェクトのコンポーネントを変更したりできます。
ノードは Graph エディターで "ブロック" として表示されます。
このブロックを配置したり接続することによって、アプリケーションのロジックを作成できます。
ノードの詳細
現在の選択範囲内のノードは強調表示されます。全てのノードには、ノードの名前を表示するヘッダーがあります。
グラフ内のノードを選択すると、Visual Scripting の Graph Inspector に以下の情報が表示されます。
- ノードの名前とアイコン
- ノードの機能の簡単な説明 (該当する場合)
- ノードの現在の警告メッセージあるいはエラー (該当する場合)
- ノードの追加設定 (該当する場合)
- 各入力/出力ポートの、定められた型 (これには各ポートの簡単な説明も含まれる場合があります。)
Graph Inspector に関する詳細は Visual Scripting のインタフェース を参照してください。
接続とポート
ノードのポートを別のノードの適合するポートに接続することで、Visual Scripting グラフ内にロジックのフローを作成できます。他のノードのポートのうち有効な接続を確立できるものが強調表示され、有効な接続のないノードやポートは淡色表示されます。
また、接続も色分けされます。グラフ内のロジックフローを制御する接続は白、値の接続は値の型に基づいて色付けされます。型に関する詳細は オブジェクトの型 を参照してください。
ノードの左側のポートは Input Port (入力ポート)です。ノードの右側のポートは Output Port (出力ポート) です。
以下に示される通り、入力ポートと出力ポートは異なる型を持つこともできます。
ポート | 説明 |
---|---|
Control Port | Control Port (制御ポート) はグラフのロジックフローを制御します。このポートは、グラフ内のノードを実行する順序 (左から右へ) を Visual Scripting に指示します。このポートの横にある矢印は、グラフ内のロジックの流れの方向を示します。 |
Data Port | Data Port (データポート) は、ノード間で数値やゲームオブジェクトなどのデータを送受信します。またこのポートには、想定される入力 (受信) あるいは出力 (送信) の型に対応した色も付いています。 |
1 つのデータ出力ポートから異なるデータ入力ポートへ複数の接続を行うことも、複数の制御出力ポートを 1 つの制御入力に接続することも可能です。
複数のデータ出力ポートを 1 つのデータ入力ポートへの接続は行えません。なぜなら Visual Scripting がアプリケーションでどの値を使用すべきかが明確にならないためです。1 つのコントロール出力ポートから複数のコントロール入力ポートへの接続も行えません。なぜなら Visual Scripting がどのノードを最初に実行すべきかが明らかにならないためです。
ノードの接続方法に関する詳細は、Script Graph 内のノードを接続する を参照してください。
ノードは追加的なパラメーターを持つこともできます。追加的なパラメーターは、以下のように、ポートに接続されている場合と接続されていない場合があります。
要素 | 例 | 説明 |
---|---|---|
Container Type | ![]() |
一部のノードは、コンテナの型の指定を必要とする場合があります。これは、入力として想定すべき型をノードに伝えます。例えば、Script Machine (スクリプトマシン) ではなく GameObject (ゲームオブジェクト) の受信を想定するようにノードに指示するコンテナ型もあります。 |
Kind | ![]() |
一部のノードは、Kind の指定を必要とする場合があります。これは、入力として与えられる変数の場所を特定するためにどの変数スコープを使用すべきかをノードに指示します。例えば、変数 Count を Scene 変数ではなく Graph 変数として探すように指示する Kind もあります。 |
Inline Value | ![]() |
別のノードに接続して値を受け取る代わりに、ノードの Inline Value フィールドを使用することができます。Visual Scripting の型の中には Inline Value フィールドをサポートしていないものもありますが、これらはグラフを単純化するのに役立ちます。 |
より複雑なノードは、ここに説明されているポート以外のより複雑あるいは特殊なポートを持つ場合もあります。
ノードのオーバーロード
Visual Scripting のノードにはオーバーロードと呼ばれる複数のバリエーションがある場合があります。オーバーロードによって、ノードが受け取ることのできる出入力データの種類と、ノードの出入力データポートの数が変わります。
例えば、Add ノードには 4 つのオーバーロードがあります。以下の画像では 'Add' を検索した後のファジーファインダーにそれらが表示されています。
ファジーファインダー内の各オーバーロードは、サブカテゴリによって区別できます。Add ノードは Math カテゴリに属していますが、それぞれのオーバーロードが異なるサブカテゴリ (Generic、Scalar、Vector 2、Vector 3、あるいは Vector 4) に属しています。
ノードのオーバーロードによって、Add ノードが受け取れる入出力データが変わります。Generic Add ノードは Visual Scripting の全てのオブジェクト型が出入力可能ですが、Vector 3 Add ノードの場合、受け取れる入力は 3D ベクトルのみ、出力できるのは単一の 3D ベクトルのみです。
Add ノードのデフォルトの型とポート数は常に同じです。Rotateノードの場合は型とポート数がオーバーロードによって変わります。
選択した Rotate ノードによって、回転角度を "ベクトル"、"個別の浮動小数点値"、"各軸に対する角度" のどれで設定できるかが変わります。またノードがゲームオブジェクトを回転させる時に、そのゲームオブジェクト自体を基準にして回転させるか、それともアプリケーションのワールド空間の中心を基準にして回転させるかも選択できます。