とても大切な知識です。
使用するソフトがOpenGLなのかDirectXなのかでNormal Mapの設定が異なります。
大体はソフト内でNormal Mapの設定を変更できますが、OpenGLとDirectXの違い・仕組みを理解していないと間違った設定をしてしまいます。
目次
Normal Mapとは
RとGチャンネルに向き、Bチャンネルに高さ情報を記録し、疑似的に凹凸を表現するテクスチャマップのこと
- RGB=XYZ
- RはX、GはY、BはZに相当
- RとGから高さのベクトルを求めることができるので、Bを使わない場合もある
- ゲーム開発ではBに別の情報をいれることも
Normal Mapの種類
DirectXとOpenGLの2種類がある
座標系の違でY座標(Gチャンネル)が反転している
- OpenGL(X+, Y-, Z+)
- 見た目の凹凸が正しく見える
- Maya, Unity, ZBrush などのデフォルト
- 3D座標: 右手座標系
- DirectX(X+, Y+, Z+)
- 見た目の凹凸が反転して見える
- 3dsmax, Unreal Engin, Substance のデフォルト
- 3D座標: 左手座標系
3DCGソフトの座標系
右手座標系Yup
Maya,Houdini, Substance 3D Painter, Modo, Katana, Nuke, After Effects
右手座標系Z-up
Blender, 3ds Max, Photoshop
左手座標系Yup
ZBrush, Unity, Cinema4D
左手座標系Zup
Unreal Engine
設定
更新、追記中