reflection path を作る(反射パス) | MAYAメモログ

reflection path を作る(反射パス)

Mayaのデフォルトでサポートされる Render Path は

beauty
color
shadow
specular
diffuse

の5つが基本。それぞれは以下のように計算された結果得られる。

beauty = color x shadow
color = specular + diffuse
diffuse = (diffuseColor x diffuseWeight) + reflection

となっている。diffuseColorはシェーディングされていない、マテリアルのカラーの値そのもの。diffuseWeightはシェーディングによって得られる、サーフェイスの明度。weightはマテリアルカラー真っ白の状態にしてレンダリングしたもの。incandencence translucence を設定している場合も weightと共にしてしまってもよいと思う。
この内、diffuse の reflection のみ個別にレンダリングで出力することができない?!※1 なぜだ、、、、。
というわけで、 reflection 素材を作ってみよう。

話は簡単。次の数式のとおり。

D = C + W + R

のとき

R = D - (C x W)

である。

つまり、
reflection = diffuse - (diffuseColor x diffuseWeight)
で作れます。
Photoshop で 「引き算」はレイヤー合成の「差の絶対値」
AfterFX では「差」「差(クラシック)」とか、こういった感じの合成モードで実現できる。

---------------------------------------------------------------------------------
※1 diffuseColorは、レンダーレイヤーのアトリビュートをMELで変更しないと出ない。 コマンドリファレンスのレンダーレイヤーを参照すべし。ambient path という隠れアトリビュートが存在し、それを On にする必要がある。