-Blenderそのほか-

4. Cyclesでのノーマルマップ (Bakeその3)

ここは自分がメモを取ったほうがよいと思った項目に関してのページです。
ここでは、でこぼこ情報(Normal情報)の焼き付けに関してです。
BI と Cycles ではマテリアルの設定が違うので、考え方は一緒でもやり方などが若干違ってきます。
Cyclesの場合もメモしておきます。

■ NormalMap 作成
ベイクする先の画像は、マテリアルノード編集で選択してアクティブになった Image Texture ノードです。
たとえどこにもつながっていないダミーのノードでもよいので、焼き付ける先の画像のノードを選択しておきます。

まず、Tangent Space でベイクをしてみます。
Cyclesの場合に、Selected to Active を使って別のオブジェクトの凹凸を焼き付けるときは、「内側」にレイを飛ばして計算します。
左のような赤いオブジェクトの凹凸を白いオブジェクトに焼き付ける場合は、赤いオブジェクトが白いオブジェクトからはみ出している部分では反対側の面の凹凸を焼き付けてしまいます。
(色味の違う場所がはみ出た部分です)
そういう場合は、Ray Distance の値を設定すると、オブジェトとの表面の外側から値の分だけ離れた位置からレイを飛ばすので、はみ出し部分を含めることができます。
表面の凹凸を正しく画像に焼きこめました。
Object Space と Tangent Space それぞれで作成した Normal Map です。


■ NormalMap の利用



Cyclesでノーマルマップを使用するときのノードです。
マップ画像の色情報を法線情報に変換して、シェーダーの法線ノードにつなぎます。

Object Space と Tangent Space 両方それぞれのノードが置いてあります。
色を法線に変換するノードは Add > Vector > Normal Map で追加します。

注意点としては、マップの画像はNon-Color Dataの設定にして利用するようにしないと、ガンマ値補正など色空間の計算が余計に行われてしまうので結果がおかしくなります。

Cycles上で Normal Map が利用できました。

どうしても若干のポリゴン境界が見えてしまいますが、Cyclesの場合は面そのものに当たる光の強さが元のポリゴンの形状に依存しており、その光の強さに対して Normal Map による凸凹の処理がなされるので、多少のポリゴン感はどうしても残ります。
ところで、Non-Color Data の設定をし忘れるとどうなるかというと、色味が違う評価をされて、法線の向きが正しいものとは似ているけれども異なるものになります。

Tangent Space だと、元の面が強調されたような表示になるみたいなので、そういった症状が出ていたらここの設定をチェックしてみましょう。
Object Space だと、間違えた時にも Tangent Space よりもポリゴン境界が目立ちづらいようなので、さらに注意です…

■ その他1
ところで、Tangent Space と Object Space の使い分けですが、Object Space だとメッシュを変形させても、元の法線の方向で評価をしてしまうので、キャラクターなどメッシュそのものが動くものには向きません。(変形ではなくて、回転や移動に関しては問題ありません)

一方 Tangent Space では、UVの向きが変形に追随するので、そこから計算する法線の向きも変形に追随することになります。
なので、特別な理由がなければ Tangent Space の方が汎用性があるので Tangent Space を使うのがよさそうです。

■ その他2
2.80 以降になりますが、Eeveeの場合、本当のポリゴンの向きとは関係なく法線の向きで陰影が評価されるので、ポリゴンの境界が Cycles よりも目立たないので Normal Map との相性が良いようです。(影 Shadow はどうしても元のポリゴンの形に依存しますが)



画像テクスチャの補間の関係でポリゴン境界にうっすらと線が乗る場合には、画像の設定で補間を切る (Closest)とかにすると、境界が目立たなくなります。
(解像度が低いと、その分テクスチャの粗さが少し目立つようようになるかもしれませんが…)

inserted by FC2 system