ShaderFX エディタで、Hw シェーダ ノード > フロー コントロール > If Else Basic(Hw Shader Nodes > Flow Control > If Else Basic)を選択して、このノードを作成します。
このノードを使用するには、条件(Condition)を指定します。条件が true の場合、True アトリビュートに接続されている値が使用されます。条件が false の場合、False アトリビュートに接続されている値が使用されます。
False アトリビュートに値を入力する代わりに、既定の出力値(Default Output Value)を指定することができます。条件が true でない限り、既定の出力値(Default Output Value)が使用されます。これにより、よりクリーンなコードと最適化が提供されます。
この例では、ブール(Bool)が true に設定されている場合、拡散カラーが赤で表示されます。
ブール(Bool)が false に設定されている場合、拡散カラーは緑で表示されます。
緑のカラー(Color)を 既定の出力値(Default Output Value)または False に接続しても同じ結果になります。
ShaderFX エディタで Hw シェーダ ノード > テクスチャ > Comparison(Hw Shader Nodes > Textures > Comparison)を選択してこのノードを作成します。
Comparison ノードで 2 つの値を比較します。たとえば、2 つの値を比較して 2 つが等しいかどうか、または 1 つがもう 1 つよりも大きいかどうかを確認します。>、<、!= などの条件演算子をアトリビュート エディタから選択します。
If Else Basic ノードの条件を指定する場合に非常に便利です。
この例では、Comparison ノードは、Texture Map の 赤 (Red)チャネルを指定された浮動小数点の値と比較します。赤チャネルの値が 0.5 より大きい場合は、True 値(青色)が適用されます。そうでない場合は、既定値(黄色)が適用されます。