パスをライトごとに出力


こんにちは。篠島です。今回はパスをライトごとに出力する方法を解説したいと思います。

今回はHoudiniに入っているサンプルモデルの豚を適当にライティングしてみました。これでライト毎にパスを出力してみます。

C

 

今回のサンプルファイルです。
pass_each_light.zip

ライト毎にパスを出すにはMantraノードのImagesタブのExtra Images PlanesタブからVEX Variableの選択リストからパスを選択します。ここでは Direct lighting(per-component) を選んでいます。そしてLight Exportsの所で Export variable for each light を選びます。すると自動的にExport variable for each component というパラメーターもONになります。
Export variable for each light を選ぶと新しいパラメーターとしてLight Mask と Light Selection というパラメーターが出てきます。Light Maskはどのライトのパスを作るかというのをライトごとに指定できます。Light Selection はライトにカテゴリーというパラメーターがあり、自分で好きな名前をつけてグループのようなものを作れるのですが、ここではそのカテゴリーの名前を指定することで、まとまったライトのグループを一括で指定することができます。
Export Components はデフォルトで5つのチャンネルがレンダリングされるようになっていますが、必要のないものは削除します。

 

1

 

試しにそれぞれのライトでのDiffuseとReflectの結果が以下のとおりです。ライト毎にパスを作ることで、細かい調整がコンポジット時にCGを再レンダリングすることなくライトごとに細かい調整ができますね。

2

Diffuse Reflect
diff1 ref1
diff2 ref2
diff3 ref3

 

ライトごとにパスを出すときに注意したいのが、Z-Depth、PositionやNormalパスはライトごとに書き出しても全く意味が無いので気をつけましょう。