syghの新フラグメント置き場

プログラミングTipsやコード断片の保管場所です。お絵描きもときどき載せます。

LightWaveのノーマルマップ

(これは2012-04-30に書いた故OCNブログの記事を移植したものです)

このあたりを参考にして、Photoshop CS5 + NVIDIAプラグインを使って作ったノーマルマップ(法線マップ)を、LightWave v9で使おうとしてるんだけど、レンダリングするとどうもノイズが乗った感じになってしまいます。バンプマップを使っても同じ。アンチエイリアスをONにしても、ノイズっぽくなったまま。どこを調整すればいいんだ? バンプ解像度の問題か? で、いろいろいじっていたら、

・ノーマルマップの場合:

Node Editorの編集ダイアログで、「Mapping」を「Planar」ではなく「UV Mapping」にして、「UV Map」を「UV Texture」に設定

バンプマップの場合:

Surface Editorのテクスチャ編集ダイアログで、「投影」を「平面状」ではなく「UV」にして、「UV ...」を「UV Texture」に設定

のようにして、平面マッピングではなくUVマッピングすればいいことが判明。モデリングにはMetasequoiaを使っているんですが、上記の「UV Texture」ってのはおそらくMetasequoiaでLWO出力したときに内部設定されるUV座標系の名前と思われます。MetasequoiaはUVを1組だけしか持てないので、MQOファイル内にはUV座標名は存在しません。Metasequoiaと同じ要領でカラーマップ(ディフューズマップ)と同じマッピング方式・UVが、ノーマルマップ/バンプマップにも割り当てられるものだと思い込んでいたのがいけなかった。

LightWave日本語版は中途半端にローカライズするから、いっそ英語版にしたほうがいいんじゃね? マニュアルはさすがに日本語のが欲しいけど……

ノードエディタは初めて使ったけど、結構面白いです。それはそうと、LightWaveOpenGLプレビューはノーマルマップやバンプマップに対応してないのかな……


ちなみに、基本的には、

ノーマルマップ品質>バンプマップ品質

なわけだが、ハイポリモデルからの凹凸焼き込みとかの用途でないかぎり、そこまで大きく品質が変わるわけでもなさそう。バンプマップは要するにハイトマップで、通例1軸のみのグレースケールデータですが、ノーマルマップは法線の3軸を制御するRGB浮動小数データを格納します。

あとグローバル イルミネーションやるなら表面下散乱(Subsurface Scattering, SSS)でしょ、ということでLightWave v9でやってみようと思ったんだけど、ここに基本的な設定の仕方が簡単に書いてありました。後で参考にしよう。