ShadingSwitchノードについて。
このShadingSwitchノード、ひとことで切って捨てると『ジオメトリごとに出力を切り替えるノード』です。
出力のチャンネル数ごとに、Single、Double、Triple、Quadと4種類のSwitchノードが存在します。
Singleなら1チャンネル。単純にスカラ値。アルファの切り替えなどに使えるのでしょうか。
Doubleなら2チャンネル。2チャンネルの代表はUVかな。
Tripleなら3チャンネル。XYZ、RGB、UVWとかは3チャンネルですね。
Quadなら4チャンネル。RGBAくらいしか思いつきません。
これらをジオメトリごとに切り替えて出力することができるのです。
これだけだと、どう使うのか分からないので『Triple_Swithc』を使って簡単なシーンを作ってみました。
プリミティブのCube、Sphere、Coneを並べた簡単なものです。
3つのプリミティブに割り当ててあるのは、同じマテリアルです。なのにカラーが違う!
Switchノードを使うと、一つの共通マテリアルでオブジェクトに異なるカラーを与える事ができます。
ここではカラーのRGBのみ切り替えたので『Triple_Swithc』を使いましたが、これをアルファで抜きたい場合は4チャンネルの『Quad_Switch』を使うことになります。
例で使用したマテリアルのネットワークは↓のようになっています。
『Triple_Switch』のアトリビュートものっけときます。アトリビュートエディタの”In Shape”ってのがジオメトリですね。
“In Triple”ってのにはテクスチャのoutColorがつながっています。
こいつを使うと、1キャラ1マテリアルってのも可能かも。
もっともこれはジオメトリ単位でしか切り替えられないので、フェース単位でカラーを制御したいなんて場合だと使えないかも。
Mayaは3dsMaxとかSoftImageとかと比較してサブコンポーネントの管理が下手っぽいからなぁ。
どうも、うまく説明できた気がしないのですが、ShadingSwitchについてはそんな感じです。
コメント