今回は『mib_bent_normal_env』についてです。
Mentalrayのノードの一つです。
これ、個人的にはかなり使えるノードだと思うのですが、そのわりに情報が少なくい。
英語だと参考サイトはいくつかあるんですが、日本語だともう皆無。
私は職場の方に教えていただきました。
このノード、一言で切って捨てると、『環境光をエミュレートするノード』でしょうか。
ファイナルギャザー等のレンダリング設定ではなく、マテリアルのシェーディングネットワークで環境光を再現してしまおうというわけです。
『mib bent normal env』を使って環境光を再現したのがこちら↓
ファイナルギャザーなしのレイトレのみです。
ドナルドと台座に、『mib_bent_normal_env』を使ったマテリアルを割り当てています。
背景の写真が、光源に使っている環境マップです。このシーン内には他にライトもなく、『mib_bent_normal_env』で再現した環境光のみを光源としています。
合成用にmip_matteshadowとmip_cameramapを使っていますが、それについてはまたいずれどこかの記事で。
ドナルドですが、シェーディングネットワークはこんな感じになっております。
環境光をエミュレートするだけなので、結構シンプルです。
使用しているノードは、
・『mib_bent_normal_env』
・『mia_material_x』
・『mib_amb_occlusion』 ×2個
・『mib_lookup_spherical』
・『mia_envblur』(これはあっても、無くてもどちらでも)
・『file』(環境マップ用)
となっています。
『mib_bent_normal_env』ノードに、環境マップとオクルージョンマップとノーマルマップをぶちこんで、出力された環境光の結果をmia_material_xにはき出している、といった内容です。『mib_bent_normal_env』のアトリビュートを開くとこんな感じ。
赤い枠が、上からノーマルマップ、オクルージョンマップ、環境マップにつながっています。
ついでに、他のパラメータについてもやっつけてしまいます。
Bent Normals
Bent Normal設定にした「mib_amb_occlusion」ノードをコネクトします。
Occlusion
Bent Normal設定にした「mib_amb_occlusion」ノードをコネクトします。
Strength
環境光の強さでしょうか。デフォルトは0.2ですが、ここでは強めに設定しています。
Environment
環境
Coordinate Space
ベント法線の座標空間…らしいですが、ごめんなさい、よく分かりません。2がワールド座標らしいので2のままでいいと思います。
Env Sample
サンプル数が少ないとノイズぃな絵になります。逆に多いと綺麗ですが、レンダリング時間が増えます。
Sample Spread
mib_amb_occlusionにあるSpreadと同じような意味でしょうか。デフォルトの0だとシーンないの全範囲。値を入れて制限してあげることで、レンダリング時間とノイズの軽減になる。
mib_amb_occlusionについての説明は割愛するとして、上の二つのmib_amb_occlusionの違いは”Output Mode”です。
“Output Mode”が0だと通常のオクルージョンが、2だとベント法線が出力されるそうです。
ちなみにベント法線が何か、自分も分かっていません。
曲げた法線か、曲がった法線か・・・はて?
ちなみに、mib_amb_occlusionの代わりに、オクルージョンマップやノーマルマップのテクスチャを使ってもいいようです。(動くものには使えませんが)
環境マップも特に設定する項目はないので割愛するとして、最後にmia_material_x。
mib_bent_normal_envの”outValue”をmia_material_xの”Ambient Light Color”につなぎます。
中ドラッグでひょいっとつなぐと楽です。
これでマテリアル側で環境光をシミュレートすることができます。
環境マップを変更すると当然ライティングも変わります。
この手法の利点ですが、ファイナルギャザー特有のフリッカーがないということです。
ノイズが全くないかというとそうではなく、ノイズが出てもモデルに張り付いた感じでチカチカしない分、気になりにくいです。
ノイズはサンプリング数を上げれば綺麗になります。
サンプリング数しだいですが、FGよりもレンダリングはやいと思います。
割愛したのも多々ありましたが、ざっくり『mib_bent_normal_env』についてでした。
ここではMayaで作成しましたが、SoftImageでも同様です。
Mayaは2012の英語版を使用しています。
最新のバージョンとは異なる可能性がありますのであしからず。
mia_material系ノード / SSS系ノード / Contour系ノード / AO系ノード
「参考サイト」
http://inpyo3d.blogspot.jp/2012/05/bent-normal-to-simulate-indirect.html
http://linghaoli.com/blog/?p=117
コメント