2009年10月27日火曜日

LuxRenderのディスプレイメントマップ

 LuxRenderのディスプレイスメントマップ用のテクスチャは黒地に白で描かないとだめ。
モデル本来のジオメトリに対して黒が変位なし、白が変位ありという割当は固定。

blenderだとテクスチャのスイッチで白と黒の割当を反転できた気がしたので
同じ感じで適当に白地に黒で描いてたら嵌まった。
UV設定がいけないのか?、pngは読めないのか?とかテクスチャまわりをあれこれ
試したおかげでだいぶ詳しくなった気がする。
ちなみに変位方向、面から凸にするかor凹にするかは適用量の極性で指定する。
正なら凸、負なら凹の方向に変位する。

blenderのディスプレイスメントマッピングはあらかじめモデルのメッシュをそれなりに
細かく分割しておかないといけないが、LuxRenderではレンダ時に指定レベルで自動的に
分割してくれる。モデルを分割しておく必要は無いのでデータが軽いままで済むのは便利。
一通りやってみて慣れればそんなに使い方が難しいものでもないし。

blenderでSubsurfを設定している場合は、Subsurfによる分割面に対してLuxRenderの
自動分割が適用される。Subsurfをレベル3、LuxRenderの自動分割を2に指定すると
結果としてディスプレイスメントが適用される最終的な面の細かさはレベル6相当になる。

試した感じでは最終分割レベルが6〜10くらいになってればとりあえず良さそう。
あとはsmoothと組み合わせで微調整という感じ。

というわけで四角ポリゴン6枚の直方体にLuxRenderのディスプレイメントを適用すると
こんな感じに。同じテクスチャで左が適用量が負、右が正の場合。



いい具合に滑らか。実際にジオメトリが変形してるので光線の反射・屈折も反映される。
左の凹モデルのマテリアルをglassに変更してみるとこんな具合。



LuxRendrの光線表現の正確さと合わせて考えると、いろいろ面白い使い方がありそう。
回折格子とかにも使えるかもしれない。

---------------------------------------------------------------
コメントなどありましたらこちらへ->web拍手