3DCGの世界において、物体表面の質感をリアルに表現することは、作品のクオリティを左右する極めて重要な要素です。

現実世界の物体は、一見滑らかに見えても微細な凹凸が存在しており、それが光の反射に複雑な変化を与えています。

このような表面の質感を、ポリゴン数を増やすことなく擬似的に再現する技術がバンプマッピングです。

本記事では、3DCG制作の基本技術であるバンプマッピングの仕組みから、ノーマルマップとの決定的な違いまでを詳しく解説します。

バンプマッピングとは?表面の凹凸をシミュレートする技術

バンプマッピングとは、1978年にジム・ブリン氏によって考案された、物体の表面に擬似的な凹凸を表現するためのテクスチャ技法です。

3DCGのモデルは、ポリゴンと呼ばれる多角形の集合体で構成されていますが、細かな傷や岩のざらつきなどをすべてポリゴンで作成すると、データ量が膨大になってしまいます。

バンプマッピングを利用すれば、モデルの形状自体は平らなままであっても、視覚的にデコボコしているような効果を与えることが可能です。

この技術は、レンダリング時に計算負荷を抑えつつ、ディテールを劇的に向上させる手法として、長年映画やゲーム業界で重宝されてきました。

高度マップ(ハイトマップ)の役割

バンプマッピングでは、凹凸の情報を伝えるために「高度マップ」または「ハイトマップ」と呼ばれる画像データを使用します。

高度マップは、一般的に白から黒までのグラデーションで構成されるグレースケール画像です。

この画像において、白い部分は「高い(飛び出している)」、黒い部分は「低い(へこんでいる)」という情報を持ちます。

中間的なグレーは、その明度に応じて連続的な高さの変化を表現するために用いられます。

3Dソフトは、この色の明暗を読み取り、オブジェクト表面の「高さ」として解釈することで、陰影を生成します。

なぜポリゴンを増やさずに凹凸が見えるのか

バンプマッピングが魔法のように凹凸を作り出す秘密は、光の反射計算にあります。

人間の目は、物体の形を直接認識しているのではなく、表面で反射した光の当たり具合(明暗の差)によって形を判断しています。

バンプマッピングは、実際の形状を変える代わりに、光の反射角度だけを操作して、脳に「そこに凹凸がある」と錯覚させます。

その結果、平坦なポリゴンの上にも、まるで彫刻を施したような詳細なディテールが浮かび上がるのです。

バンプマッピングの仕組みと計算原理

バンプマッピングの動作原理を理解するためには、「法線(ノーマル)」という概念を知る必要があります。

法線とは、ポリゴンの面に対して垂直に伸びる仮想的なベクトルのことで、光がどの方向に反射するかを決定する重要な指標です。

通常、平らなポリゴンであれば、法線はすべての箇所で同じ方向を向いています。

法線ベクトルの摂動(ゆらぎ)

バンプマッピングは、高度マップの情報に基づいて、この法線ベクトルの向きを意図的に変化させます。

これを「摂動(せつどう)」と呼び、ピクセル単位で法線の傾きを微調整することで、光の当たり方を変えています。

例えば、高度マップで色が急激に変化している場所では、法線が大きく傾き、強い陰影が生じます。

逆に色の変化が緩やかな場所では、法線の傾きも小さくなり、滑らかな曲面として描写されます。

シェーディングへの影響

最終的なレンダリング結果において、この法線の変化は「シェーディング(陰影処理)」に反映されます。

光源からの光が、傾いた法線に対してどのような角度で入射するかを計算し、その地点の明るさを決定します。

このプロセスにより、実際には1枚の板ポリゴンであっても、光が当たっている側は明るく、反対側は暗くなり、立体感が生まれます。

ただし、あくまで計算上の演出であるため、真横から見た場合には表面が完全に平らであるという性質を持っています。

バンプマッピングとノーマルマッピングの違い

バンプマッピングについて調べていると、必ずと言っていいほど「ノーマルマッピング(法線マッピング)」という言葉が登場します。

現代の3DCG制作において、主流となっているのは実はノーマルマッピングの方です。

ここでは、両者の技術的な違いと使い分けについて整理しましょう。

データ形式と表現力の差

バンプマッピングが「高さ(上下)」の情報のみを扱うグレースケール画像を使用するのに対し、ノーマルマッピングは「方向(XYZ)」の情報を持つRGBカラー画像を使用します。

ノーマルマップが青紫色に見えるのは、R(赤)、G(緑)、B(青)の各チャンネルに、法線のX軸、Y軸、Z軸の向きを割り当てているためです。

バンプマップは「隣のピクセルとの高さの差」から法線の傾きを計算しますが、ノーマルマップは「法線の向きそのもの」をデータとして持っています。

そのため、ノーマルマッピングの方がより精密で、複雑な表面の傾きを正確に再現することが可能です。

計算負荷と精度の比較

一般的に、ノーマルマッピングの方がバンプマッピングよりも計算精度が高く、現代のGPU(グラフィックスプロセッサ)での処理に最適化されています。

バンプマッピングは、レンダリング時に高さ情報から法線を算出するというステップが必要になるため、リアルタイム処理ではノーマルマップの方が効率的である場合が多いです。

以下の表は、バンプマッピングとノーマルマッピングの主な違いをまとめたものです。

項目バンプマッピングノーマルマッピング
使用する画像グレースケール(白黒)RGBカラー(青紫色)
保持する情報高さ(1次元)法線の向き(3次元)
作成の容易さ容易(手描きも可能)専門ソフトやハイポリが必要
現在の主流補助的・簡易的表現ゲーム・映画の標準

ディスプレイスメントマッピングとの比較

バンプマッピングやノーマルマッピングとは一線を画す技術に、「ディスプレイスメントマッピング」があります。

これら三者の違いを理解することは、効率的な3Dモデリングを行う上で欠かせません。

実際に形状を変化させる技術

バンプマップやノーマルマップは、あくまで「光の反射」を操作する「見た目だけ」の技術です。

対してディスプレイスメントマッピングは、実際にポリゴンの頂点(幾何学的形状)を移動させます。

そのため、オブジェクトのシルエット(輪郭)自体がデコボコに変化し、非常に高いリアリティを得られます。

しかし、実際に形状を変えるためには膨大な数のポリゴンが必要となり、レンダリング負荷は他の手法に比べて飛躍的に高くなります。

使い分けの基準

遠くにある背景や、微細な表面のザラつきにはバンプマッピングやノーマルマッピングが適しています。

一方で、カメラが至近距離まで近づくキャラクターの装備品や、大きな岩の塊などはディスプレイスメントマッピングが選ばれます。

近年では、テッセレーション技術の向上により、リアルタイムでもディスプレイスメントマッピングが使われるケースが増えていますが、依然として使い分けが重要です。

バンプマッピングのメリット

ノーマルマッピングに主役の座を譲ったとはいえ、バンプマッピングには独自のメリットが存在します。

特に制作のワークフローにおいては、今なお便利なツールとして活用されています。

直感的な編集が可能

バンプマップは白黒の画像であるため、人間が視覚的に理解しやすいという特徴があります。

例えば、Photoshopなどのペイントソフトを使用して、手描きで凹凸を修正することが容易です。

ノーマルマップはRGBで方向を指定するため、手作業で特定の部分を少しだけ盛り上げるような修正は困難です。

リソースの節約

グレースケール画像は、RGB画像に比べてデータ容量を小さく抑えることができます。

チャンネル数が1つ(モノクロ)で済むため、メモリ消費を節約したい古いハードウェアや、特定のモバイル環境では有利に働くことがあります。

バンプマッピングのデメリットと限界

一方で、バンプマッピングには技術的な限界もあり、それが原因でノーマルマッピングへ移行した歴史があります。

表現したい内容によっては、バンプマッピングだけでは不十分な場合があります。

シルエットが変化しない

バンプマッピングの最大の弱点は、物体の輪郭が常に直線的(平面的)なままであることです。

球体の表面に激しい凹凸をバンプマップで設定しても、球体の端の部分を横から見ると、完全に滑らかな円のままです。

この「嘘」は、視聴者が角度を変えて観察した際に、リアリティを損なう原因となります。

深い溝や鋭い突起に弱い

法線を曲げているだけなので、極端に深い穴や、急峻な崖のような表現をすると、映像に不自然な歪みが生じます。

また、セルフシャドウ(自分自身の凹凸によってできる影)を正確に描写することもできません。

これにより、立体感が乏しく感じられる場面があります。

現代の3DCG制作におけるバンプマッピングの活用シーン

現在、バンプマッピングは単体で使用されるよりも、他のマップと組み合わせて補助的に使われることが一般的です。

特に、PBR(物理ベースレンダリング)ワークフローの中での立ち位置を見ていきましょう。

微細な表面の荒さの表現

革製品のシボ感や、布の質感、金属表面のわずかな傷など、非常に細かなディテールには今でもバンプマップが使われます。

ノーマルマップに大きな形状の情報を入れ、その上にバンプマップで微細な質感を重ねるという手法がよく採られます。

プロシージャルテクスチャとの相性

数式によって自動生成される「プロシージャルテクスチャ」では、バンプマッピングが非常に強力な力を発揮します。

ノイズ関数を利用して作成した白黒のパターンをそのままバンプとして適用することで、無限のバリエーションを持つ凹凸を生成できます。

Blenderなどのソフトでは、ノードを繋ぐだけで簡単にこの効果を確認でき、素早い試行錯誤が可能です。

Blenderのシェーダーエディタでの例

Python
# これはBlender内でのノード接続の概念を疑似コードで示したものです
# ノイズテクスチャの出力をバンプノードの「高さ」に入力し
# バンプノードの「ノーマル」をプリンシプルBSDFの「ノーマル」に接続します

Input: Noise Texture (Color/Fac)
  |
  V
Node: Bump (Height)
  |
  V
Output: Principled BSDF (Normal)

まとめ

バンプマッピングは、グレースケール画像を用いて法線の向きを擬似的に変化させ、ポリゴン数を増やさずに凹凸を表現する画期的な技術です。

現代ではより高精度なノーマルマッピングが主流となりましたが、直感的な操作性と手軽さから、今なお3DCG制作の現場で重要な役割を担っています。

それぞれのマップの特性を理解し、表現したい質感やプロジェクトの負荷制限に合わせて適切に使い分けることが、プロのテクニカルアーティストへの第一歩です。

これから3DCGを学ぶ方は、まずはこのバンプマッピングの原理をマスターし、光と影がどのように物体の形を作り出しているのかを深く観察してみてください。