ノーマルマップとは?
Normal Map は、3D グラフィックスで使われるテクスチャの一種で、表面の向き情報(法線)を画像の RGB チャンネルに保存します。各ピクセルの色は方向ベクトルを表し、レンダリングエンジンがメッシュの ポリゴン数 を増やすことなく、傷、へこみ、布の織り目のような細かい表面の詳細をシミュレートできます。これは PBR マテリアルの中核となるマップのひとつです。
ノーマルマップの仕組み
標準的な 3D モデルでは、表面の法線は頂点ごと、または面ごとに計算されます。ノーマルマップはレンダリング中にこれらの法線をピクセルレベルで上書きします。
- 赤チャンネル(X) → 左右方向
- 緑チャンネル(Y) → 上下方向
- 青チャンネル(Z) → 内外方向(見る人に向かう方向)
レンダラーはこのピクセルごとの法線を使って照明を計算し、平らな表面上に幾何学的な詳細の錯覚を作り出します。
ノーマルマップの種類
タンジェント空間ノーマルマップ
最も一般的な種類です。法線は表面のローカル(接空間)座標フレームに対して保存されます。変形するジオメトリ(キャラクター、布)でも機能します。汎用のタイル状ディテールマップはメッシュをまたいで自由に再利用できますが、ハイポリのスカルプトからベイクしたマップはベイク元のメッシュに固有のままです。
オブジェクト空間ノーマルマップ
法線はモデル自身のローカル(オブジェクト)座標空間で保存されます。静的なオブジェクトにはわずかに高い品質を生み出しますが、その特定のメッシュとジオメトリに固定されるため、異なるメッシュでは再利用できません。
ノーマルマップを使う場面
- ゲームアセット:パフォーマンスコストなしでローポリモデルに詳細を追加
- リアルタイムアプリケーション:VR、AR、Web 3D ビューア
- ハイポリ詳細のベイク:スカルプトの詳細をローポリのゲームメッシュに転写
- 3D プリントのプレビュー:プリント前に表面の質感を可視化
ノーマルマップとバンプマップの比較
| 特徴 | Normal Maps | Bump Maps |
|---|---|---|
| 保存されるデータ | XYZ 方向ベクトル | グレースケールの高さ値 |
| 詳細の品質 | より高い(方向あり) | より低い(高さのみ) |
| シルエットへの効果 | なし | なし |
| パフォーマンス | わずかに高コスト | より安価 |
ノーマルマップの作成
Normal Maps は次の方法で生成できます。
- ハイポリのスカルプトからローポリメッシュへの ベイク(Substance、xNormal、Blender)。多くの場合、ローポリのターゲットを作る リトポロジー と組み合わされます
- ハイト/バンプマップからの 変換(フィルタベース)
- AI 生成:Sloyd の AI テクスチャリングのようなツールが、3D モデル向けに PBR 対応の Normal Maps を自動生成できます
マテリアルが使うより広範なマップの集合については、当社の 3D テクスチャ初心者ガイド をご覧ください。
Sloydにおけるノーマルマップ
Sloyd で 3D モデルを生成またはテクスチャリングすると、Normal Maps が PBR マテリアルパイプラインの一部として自動的に作成されます。モデルを GLB または FBX 形式でエクスポートすると、Normal Maps も含まれ、Unity、Unreal Engine、Blender、あるいはあらゆるゲームエンジンですぐに使えます。