グラフ ノードを使用して ShaderFX にスイッチを追加する

高度なモードの切り替え(Toggle Advanced Mode)がオンのときに、グラフ ノードを作成することもできます。

グラフ ノードでは、グラフ内でカスタムの意思決定を実行することができます。基本的に、次の切り替えを作成することができます。

if true
    do A
else
    do B

グラフ ノードの例として論理積(Bool AND)パス方向(Path Direction)があります。

グラフ ノード(Graph Nodes)のブール(グラフ ノード > コード コントロール > 論理積(Graph Nodes > Code Control > Bool AND)グラフ ノード > 値 > ブール値(Graph Nodes > Values > Bool Value)など)と値ノードのブール(Bool)(Hw シェーダ ノード > 値 > ブール(Hw Shader Nodes > Values > Bool))を混同しないでください。

ノードのブール(Bool)はシェーダ コードに対して True 値または False 値を供給しますが、グラフ ノードのブールは切り替えとして動作し、シェーダに対して値は供給しません。

この例では、BoolValue グラフ ノードは、PathDir が入力 A または入力 B のどちらを考慮するかをコントロールするスイッチです。bool が PathDir に接続されている場合、入力 A が使用されます。Not bool が PathDir に接続されている場合、入力 B が使用されます。BoolValue は、直接、拡散カラーに値を提供しません。

ソケットの V 記号 は、グラフ ノードからの入力(またはグラフ ノードへの出力)が要求されていることを示します。

この例では、ブールに応じて、カラー値が 1 または 0 で乗算されます。ブールが true に設定されている場合、カラーは 1 で乗算され、拡散カラーは黄色になります。ブールが false に設定されている場合、カラーは 0 で乗算され、拡散カラーは黒になります。したがって、ブールによって直接シェーダに値が提供されます。

グラフ ノード(Graph Nodes)を使用する場合のサンプル アプリケーションは、不透明度を有効または無効にします。不透明度が設定されていないシェーダより設定されているシェーダをレンダーするほうがコストがかかるため、アーティストは、高速なプレビュー レンダリング結果を得るためにこの設定を簡単に有効または無効にするスイッチを追加することができます。