はじめに
こんにちは!
久しぶりのブログです。
今日は、セカンドライフのテクスチャ、ノーマルマップ の秘密について話します。
続かないかもしれませんが、とりあえず第1弾です。
ノーマルマップの色成分の基礎
ノーマルマップといえば、平面の凹凸を現した画像です。
通常グレースケールで高さを表した画像から、このノーマルマップを作成します。
おそらく、少し詳しzい方はこの辺までは、ご存知かと思います。
しかし、具体的に
赤色成分は、何をセカンドライフ上の何を示すのか、
青色成分は……?
といったことまで知っている方はそんなにいないのでは?
ということで、この色成分が何を表しているかの解説となります。
ノーマルマップの英語の解説を確認してみましょう。
これを見ると、次のような情報が分かります。
赤成分R = 方向成分X
緑成分G = 方向成分Y
青成分B = 方向成分Z
ただし、方向とは言ってもX+がR+に
対応しているのかといったことはテキストには書いてありません。
なぜ、それが重要かといいますと、ソフトによって色成分との対応が異なるためです。
>・ZBrush:(-X,+Y,+Z)
>・CrazyBump:(+X,+Y,+Z)
>・Blender 2.4x:(-X,-Y,+Z)
>・Blender 2.57以降:(+X,+Y,+Z)
Sandy Virtual City様のブログから引用
※XYZ軸がどちらに対応しているかも重要となるため、ブログ内の軸の解説も参照しましょう。
ブログでは、X軸のプラスをUV座標系のU方向、Y軸のプラスをUV座標系のV方向、Z軸のプラスを凸方向としています。
では、セカンドライフを調べてみましょう。
公式ページにあるノーマルマップの画像から、
凸に対して、画素の色が次のようになっています。
上が RGB(126,178,212)
右が RGB(169,124,210)
下が RGB(109, 75,206)
左が RGB( 69,124,212)
つまり、セカンドライフ(+X, -Y, +Z)
となることが分かります。
これは、NormalMap-Onlineでは、
Invert の R にチェックが入った場合と同様になります。
これらをおさらないすると、たとえば下記のようなバンプマップ/ハイトマップを用意したとすると、
次のような画像がセカンドライフ上でのノーマルマップとなります。
本日は、ここまで!
コメント