メインコンテンツへ移動

ノーマルマップ比較

ノーマルマップとディスプレイスメント、どちらを使う?

ノーマルマップはメッシュを動かさず光の反応を変えます。ディスプレイスメントは表面を動かし、輪郭や接触影にも影響します。

結論

必要な見た目の変化で選ぶ

小さな表面ディテールにはノーマルマップ、輪郭や接触を変える必要がある凹凸にはディスプレイスメントを使います。実制作では両方を重ねることも多いです。

Editorial comparison showing a purple-blue normal map on a flat plane beside a displaced rocky surface with geometric relief
A normal map changes the lighting direction on a surface; displacement changes the surface shape itself.

選び方

必要な見た目の変化で選ぶ

ノーマルマップはテクセルごとの方向を保存し、シェーダーが照明だけを変えます。頂点は動かないため、繰り返し素材やリアルタイム用途で軽量です。

ディスプレイスメントは高さを使って頂点や微細ジオメトリを動かします。輪郭も変えられますが、十分な分割数と正しいスケールが必要です。

大きな形状はディスプレイスメント、細かなひびや粒はノーマルマップに分けると安定します。最終の光とカメラで確認してください。

制作メモ

制作上の境界と具体例

シルエットが最も明確な境目です。ノーマルマップはレンガ面を光らせても端を平面のままにします。十分な分割があればディスプレイスメントで端を崩せます。

影も判断材料です。溝が自身の光を遮ったり接触影を作るなら、ノーマルだけでは形状が生まれません。大きな形を変位、細い傷をノーマルに分けます。

テクスチャとレンダラーのUV倍率をそろえ、高さとノーマルを非カラーとして扱います。緑チャンネルや接線基準の違いは凹凸を反転させます。

コストは解像度より画面占有率に左右されます。アセットとカメラごとに決め、低品質用にノーマルのみの版も用意します。

アセットとカメラで選ぶ

石壁

輪郭と接触影を変える欠けを変位で、細かな孔や欠片をノーマルで表現します。

リアルタイムキャラクターの布

一本の糸を解像できない距離なら、織り目と縫い目はノーマルが安定します。

近景の彫刻小物

大形状を変位で確認してから、細部のノーマルを重ねます。

比較表

ノーマルマップとディスプレイスメント

項目ノーマルマップディスプレイスメント
変わるものテクセルごとの照明方向表面位置またはメッシュの高さ
シルエット輪郭は変わらない十分なジオメトリがあれば輪郭が変わる
実行コスト通常は低く安定分割数と画面占有率により高くなる
適した細部細いひび、毛穴、布、小さな溝大きな隆起、石、レンガ、接触形状
設定リスク緑チャンネル、色空間、強度のミス高さ、分割、スケール、自己交差のミス
補助方法カメラで形状を解像できない時に使う残りの微細部をノーマルやバンプで補う

実践ワークフロー

選んで検証する手順

01

見せたい変化を決める

細部が輪郭まで変える必要があるか、ハイライトだけでよいかを判断します。遠景や繰り返し素材ならノーマルマップで十分なことが多いです。

  • 最も近いカメラ距離を確認する。
  • 接触影が必要な細部を印付けする。
  • 主役アセットと繰り返し素材を分ける。
02

きれいな高さ信号を用意する

グレースケールでは白が高く、黒が低く、中間グレーが基準面です。元画像に焼き込まれた光と影を取り除きます。

  • 高さの範囲を意図的に決める。
  • 陰影付き写真をそのまま高さにしない。
  • 最終タイル倍率でプレビューする。
03

ノーマルを生成して向きを合わせる

タンジェント空間のノーマルを生成し、対象レンダラーに合わせて OpenGL または DirectX を選びます。PNGは表示色ではなくデータとして扱います。

  • 強度とコントラストは中程度から始める。
  • ノイズ除去は軽いぼかしに留める。
  • 溝が盛り上がって見えたらY方向を切り替える。
04

形状コストに見合う場所だけ変位させる

十分な分割またはマイクロジオメトリと、シーン単位の高さを確認します。まず平面や球でテストします。

  • 強度を上げる前に分割する。
  • オブジェクト寸法と変位スケールを合わせる。
  • 影、接触、輪郭を再確認する。
05

最終の光とカメラで検証する

平面プレビューで良くても実際のシェーダーで失敗することがあります。最終距離で正面と斜めの光を比べます。

  • 全マップのUV倍率をそろえる。
  • ミップマップ、フィルター、圧縮を確認する。
  • 高さの元データを出力ファイルと保存する。

よくある問題

結果がおかしい理由

ノーマルで輪郭が変わると思う

照明で隆起を見せてもメッシュの端は平らなままです。輪郭や接触が必要なら変位または実ジオメトリを使います。

高さをカラーテクスチャとして扱う

色管理やチャンネル処理で値が変わります。必要なら高さとノーマルを非カラーとして設定します。

テクスチャだけで変位量を決める

グレースケールには、材質とメッシュが単位を決めるまで物理的な尺度がありません。寸法、分割、カメラで調整します。

距離に関係なく同じマップを使う

近景の主役には両方を重ね、遠景や繰り返し素材には安定したノーマルだけを使う方が効率的です。

公式資料

レンダラーの仕様を確認

レンダラーのバージョンやパイプラインにより項目名と初期値が変わります。プロジェクトのバージョンに合う公式資料を確認してください。

FAQ

ノーマルとディスプレイスメントの質問

ディスプレイスメントの方が優れていますか?

常に優れているわけではありません。輪郭を変えるならディスプレイスメント、細部と速度ならノーマルが適します。

ノーマルマップで代用できますか?

照明だけを変えればよく、輪郭や接触影が不要なら代用できます。

Height、Bump、Normalの違いは?

Heightはグレースケールの高さ、Bumpはシェーダーで光を乱し、Normalは方向をRGBで保存します。

ディスプレイスメントが平らに見える理由は?

分割数、高さ幅、マテリアル設定、カメラ距離を確認してください。

2つのマップを組み合わせられますか?

はい。同じUVスケールで大きな形をディスプレイスメント、微細部をノーマルにします。

次の手順

テストマップを作り、最終メッシュで検証する

小さな表面ディテールにはノーマルマップ、輪郭や接触を変える必要がある凹凸にはディスプレイスメントを使います。実制作では両方を重ねることも多いです。