Sub Graph
説明
Sub Graph は、他のグラフ内から参照できる、特殊なタイプの Shader Graph です。これは、ひとつのグラフ内であるいは複数のグラフにわたって同じ操作を複数回実行したい場合に役立ちます。Sub Graph は以下の 3 つの点において Shader Graph と異なっています。
- Sub Graph の Blackboard 内の Property (プロパティー) は、別のグラフから Sub Graph を参照する場合の Sub Graph ノード の入力ポート を定義します。
- Sub Graph は独自のアセットタイプを持っています。Sub Graph の新規作成方法を含めた詳細は、Sub Graph アセット を参照してください。
- Sub Graph は Master Stack (マスタースタック) を持っていません。代わりに Output と呼ばれる ノード を持っています。
Sub Graph のコンポーネントに関する詳細は、Sub Graph アセット を参照してください。
Output ノード
Output ノードは、別のグラフから Sub Graph を参照する場合の Sub Graph ノード の出力ポートを定義します。ポートの追加や削除を行うには、Graph Inspector の Node Settings タブにある Custom Port メニュー を使用して、Sub Graph Output ノードをクリックします。
Sub Graphs に使用されるプレビューは Output ノードの最初のポートによって決まります。最初のポートの有効な データタイプ は、Vector 1
、Vector 2
、Vector 3
、Vector 4
、Matrix2
、Matrix3
、Matrix4
、Boolean
です。他のデータタイプはプレビューシェーダー内にエラーを発生させ、Sub Graph を無効にします。
Sub Graph とシェーダーステージ
Sub Graph 内のノードが特定のシェーダーステージを指定している (例えば、Sample Texture 2D ノード が Fragment シェーダーステージを指定している) 場合、エディターは、Sub Graph 全体をそのステージに固定します。別のシェーダーステージを指定しているノードは Sub Graph Output ノードに接続できず、グラフを参照する全ての Sub Graph ノードは、指定のシェーダーステージを参照するようにエディターによって固定されます。
Sub Graphs とキーワード
Sub Graph 内の Blackboard 上に定義する キーワード (Keyword) は、通常の Shader Graph 内のキーワードと類似した挙動を持っています。Shader Graph に Sub Graph ノードを追加すると、Sub Graph 内の全てのキーワードが Shader Graph 内でも定義され、これによって意図した通りに Sub Graph が機能するようになります。
Sub Graph の Keyword (キーワード) を Shader Graph 内で使用したり、それをマテリアルの Inspector 内で使用できるようにするには、そのキーワードを Sub Graph から Shader Graph の Blackboard にコピーしてください。