陰影なしのマテリアルを出力するには
https://www.youtube.com/watch?v=LStlXdeq2yQ
MODOはデフォルトで新たにシーンを作成すると、シェーダツリーの中で最終レンダリングの結果とアルファの二種類が出力されるよう設定されていますが、シェーディングされていない陰影がついていない状態のディフューズの色だけ、または影の部分だけを抽出して、後から独自に編集したいといった場合もあります。今回はそういった陰影なしのマテリアルなど、特定の要素を出力する方法を解説します。
サンプルとなるシーンには、背景となるメッシュの中に、恐竜と羽がついたボールが配置されています。シェーダツリーを見てみると、最終レンダリングを出力するためのFinal Color Outputと、アルファを出力するためのAlpha Outputが用意されています。今回はさらに陰影がついていないディフューズの色を出力するために、まずはレイヤー追加 > レンダー出力 > Render Outputを追加します。この状態だと出力されるのはFinal Color、つまり最終レンダリングとなっていますので、これを望みの要素の出力に変更するため、エフェクトの列をクリックします。
シェーディングのカテゴリを見てみると、シェーディングした後、つまり陰影がついている状態のエフェクトが表示されています。試しに、Diffuse Shading (Total)を指定します。これはライトによる直接照射、大域照明(GI)による間接照射をあわせた状態のディフューズ成分となります。
これを確認するには、実際にレンダリングしてレンダリングウィンドウから確認することもできますが、もっと手軽にプレビュー上でも確認が可能です。プレビュー画面左上にあるエフェクトを開いてみると、このシーンに設定されているRender Outputがリストされ、すぐに切り替えて確認できるようになっています。
ただしこのDiffuse Shading (Total)はシェーディング後のディフューズ成分ですので、シェーディングする前の陰影がついていない状態のディフューズ成分を出力してみます。エフェクトの欄からマテリアル > Diffuse Colorへと変更してみます。これで各マテリアルに設定されているディフューズの色がそのまま出力されるようになりました。
さらにディフューズの値も出してみます。もう一つ、Render Outputを追加したら、エフェクトをマテリアル > Diffuse Amountに変更します。今回のように、背景もメッシュとして作成されているため、恐竜と背景とのディフューズの値が同じな場合、このように境界が全く見えない状態になります。
そのような場合に、背景を外して恐竜とボールのディフューズの値だけを取得したいのであれば、取得したいメッシュだけをグループ化すると良いでしょう。アイテムリストから恐竜とボールを選択し、グループを作成します。シェーダツリーからマテリアルグループを1つ作成し、プロパティのアイテムドロップダウンから作成したグループを指定します。これでこのマテリアルグループは恐竜とボールに対して影響を及ぼすようになります。このマテリアルグループの中にRender Outputを追加し、エフェクトをDiffuse Amountに変更してみると、ボールと恐竜だけの出力が可能になります。
このようにMODOでは各要素を細かく範囲を指定して出力することができますので、出力した画像を元に後から画像や動画編集ソフトなどで、自分ごとのみに合成・編集していくことが可能です。