すあまの備忘録

誰得内容の自分のための非営利目的備忘録ブログ(筆者がわかっても内緒にしてください)

Mantraレンダリング周りメモ vol.11 :PerLight AOVs

Lightごとの要素の書き出し時のいろいろ。

f:id:godofsuama:20210411195633p:plain

ライトが大量にある場合に、好きなグループにまとめてPer-Light AOVを出す方法

何もしない場合

f:id:godofsuama:20210411200023p:plain

こんな感じでライトの名前ごとに大量のAOVが作成される。

これはまだコンポーネント(Diffuse, Specluar, Reflection等)ごとにまとまっているからいいが、バラすともっと大変に。

f:id:godofsuama:20210411200450p:plain
コンポーネントごとにした例(通常はこうはならない)

ノード名で分ける

LightMaskの部分でノード名でライトを選択し、ライトごとのAOVを作成する。

f:id:godofsuama:20210411203415p:plain

Bundle Listを使う

f:id:godofsuama:20210411204351p:plain

いわゆるSOPのグループのような機能で、好きなノードを選択したりしてBundle Listと呼ばれるグループに入れることができる。

手で入れればノード名は問わない。

これを使用する場合は、@リスト名と表記する。

f:id:godofsuama:20210411204536p:plain

LPEを使う

最初にライトのLPE tagに識別用の文字列入れる。

f:id:godofsuama:20210411210035p:plain

MantraのVEX Variablesに以下のような表記をする。

lpe:C.*[<L.('ライトのタグ名')>O]

f:id:godofsuama:20210411210134p:plain

例は各コンポーネント(Diffuse, Specluar, Reflection等)をまとめた状態の表記の仕方。

Reflection等を分けたい場合はまた表記が違う。ヘルプを参考に。

複雑なtagとコンポーネントの組み合わせで分けることができるが表記が覚えられない…

Introduction to Light Path Expressions - Arnold for Maya User Guide - Arnold Renderer

Using LPE

ライトパスエクスプレッション