Block ノード
説明
Block (ブロック) は、Master Stack (マスタースタック) の特殊なタイプのノードです。各ブロックは、シェーダーの最終出力で使用される 1 つのフラグメント (または頂点) の説明データを表します。常に使用可能な Block ノードもありますが、特定のパイプラインでしか使用できない Block ノードもあります。
一部のブロックは特定の Graph Settings (グラフ設定) でしか使用できません。ブロックはグラフ設定に応じてアクティブまたは非アクティブになる場合があります。
ブロックの切り取り、コピー、貼り付けは行えません。
Block ノードの追加と削除
新しい Block ノードをマスタースタック内のコンテキストに追加するには、コンテキスト内の何もない場所にマウスオーバーし、スペースキーを押すか、右クリックして “Create Node” を選択します。これにより Create Node メニューが表示されます。
このメニューには、そのコンテキストに有効な Block ノードのみが含まれています。Fragment コンテキストの Create Node メニューには Vertex ブロックは表示されません。
このメニューから特定の Block ノードを選択すると、そのノードがコンテキストに追加されます。
コンテキスト内で特定の Block ノードを選択し、"Delete" を押すか、右クリックして "Delete" を選択すると、コンテキストからそのブロックが削除されます。
ブロックの自動的な追加と削除
ユーザーの Shader Graph 環境設定に応じて自動的にブロックをコンテキストに追加したり、削除したりすることもできます。Automatically Add or Remove Blocks
をオンにすると、特定のターゲットやマテリアルのタイプに必要な Block ノードが自動的に追加されます。接続されておらずデフォルト値を持たない、適合しない Block ノードは、全て自動的にコンテキストから削除されます。
Automatically Add or Remove Blocks
をオフにすると、Block ノードの自動追加や削除は一切行われません。全ての必要な Block ノードは、選択されたターゲットとマテリアルの設定に基づいて、ユーザーが手作業で追加する必要があります。
アクティブなブロックと非アクティブなブロック
アクティブな Block ノードとは、生成されており、かつ、最終的なシェーダーに寄与しているブロックです。非アクティブな Block ノードとは、Shader Graph 内に存在しているが、生成されていない (あるいは最終的なシェーダーに寄与していない) ブロックです。
グラフ設定によっては、ブロックがアクティブあるいは非アクティブになる場合があります。この状態は、"非アクティブな Block ノード" と "非アクティブな Block ノードに のみ に接続されている全てのノードストリーム" をグレーアウト表示すれば確認できます。