様々なレンダーパスの出力方法
https://www.youtube.com/watch?v=II2YzcHOLJU
MODOはレンダリング時にディフューズやスペキュラ、リフレクションといった様々な要素を簡単に設定・出力することができるようになっています。
まずはサンプルシーンを見てみましょう。MODOはシーンを開くと、デフォルトでシェーダツリーの中でFinal Color OutputとAlpha Output、つまりレンダリング画像とそのアルファ画像とが出力されるように設定されています。このレンダー出力は自由に追加することができます。
シェーダツリー > レイヤー追加 > レンダー出力には様々なカテゴリのパスが用意されています。例えば、マテリアル > Diffuse Colorは各マテリアルのディフューズカラーの情報だけを出力します。追加した出力パスはプレビューウィンドウで簡単に確認することができます。プレビューウィンドウのエフェクトには、追加したレンダー出力がリストされますので、それを切り替えることで各パスを確認することができます。
他にもライティング > Ambient Occlusionではアンビエントオクルージョンを、ジオメトリ > Surface IDではマテリアルごとに異なる色を割り当てて出力することが可能です。このように、ただ単にレンダー出力を追加していくだけでパスを増やすことができます。
また、MODOでは含めたいアイテムを指定することもできます。例えば、このサンプルシーンでは床に対して床を表すメッシュが用意されているため、デフォルトのシーンにあるAlphaを確認してみても、五つのアイテムだけのマスクを取ることはできません。
このような場合には、マテリアルグループの機能を活用します。マテリアルグループはシェーダツリーの中で影響を及ぼす範囲を表すものですが、これはマテリアルをつけるためだけに使用するわけではありません。まずは一つのアルファにまとめて出したいアイテム、今回の場合は床以外のアイテムをすべて選択します。これらが一塊に機能するということを定義するため、グループタブ > 新規グループボタンからグループMaskを作ります。
次にシェーダツリーへと移り、レイヤー追加 > Groupでマテリアルグループを作ります。このマテリアルグループの影響範囲として、アイテムのポップアップから先ほど作成したグループMaskを指定します。そうすると、このマテリアルグループの中に設定しているものは、グループMaskで定義したアイテムに対してのみ影響を及ぼすことになります。
ではマテリアルグループの中へレイヤー追加 > レンダー出力 > 基本 > Alphaを追加してみます。そうすると、床のメッシュのアルファが取得されることはなく、五つのアイテムのマスクだけが出力されることになります。レンダー出力 > ジオメトリ > Geometric Normalも同様です。
このように、MODOでは追加したいパスをすぐに追加・確認できるだけでなく、範囲指定した対象に対してだけを簡単に指定することも可能です。