テクスチャマッピングは、コンピュータグラフィックスにおいて3次元モデルの表面に2次元画像(テクスチャ)を貼り付ける技術である。この手法により、モデルに詳細な色、模様、質感を付与し、現実感や視覚的複雑性を効率的に向上させることができる。テクスチャマッピングは、ビデオゲーム、映画のVFX、建築ビジュアライゼーションなど幅広い分野で応用され、ポリゴン数の増加を抑えつつ豊かな表現を実現する基盤技術として位置づけられる。
1 基本概念
1.1 定義と目的
テクスチャマッピングとは、3次元オブジェクトの表面に2次元画像データをマッピングするプロセスを指す。目的は、幾何学的形状だけでは表現が難しい細かな色変化や模様、表面の凹凸感などを、少ない計算コストで視覚的に再現することにある。これにより、モデルにリアリズムと芸術的表現を付与できる。
1.2 歴史的発展
1.2.1 初期のテクスチャマッピング
1970年代、コンピュータグラフィックスの研究者によって初めて概念が提案された。Edwin Catmullが1974年にテクスチャマッピングの基礎となる手法を開発し、その後James Blinnらによってサーフェスへの適用が進められた。当時は計算資源が限られており、単純なパターンや色のマッピングが主であった。
1.2.2 リアルタイムレンダリングへの進化
1990年代以降、GPUの性能向上によりリアルタイムでのテクスチャマッピングが可能となった。Doom(1993)など初期の3Dゲームで採用され、1990年代後半にはマルチテクスチャリングやバンプマッピングが登場。2000年代にはシェーダーの発展により複雑なマッピングが標準化し、現在では物理ベースレンダリングと統合されて広く使われている。
1.3 テクスチャ座標系
テクスチャ座標は、2次元画像上の位置を指定するためのパラメータであり、通常U(水平方向)とV(垂直方向)で表される。UV座標は0から1の範囲に正規化されることが多く、3Dモデルの各頂点にこれらの値を割り当てることで、テクスチャとモデル表面の対応関係が定義される。座標系は左手系または右手系に依存し、実装に応じて調整される。
2 主要なマッピング手法
2.1 平面マッピング
平面マッピングでは、テクスチャを1枚の平面としてオブジェクトに投影する。直方体や平面に近い形状に適しており、投影方向に応じてテクスチャの歪みが生じる。実装が単純で高速だが、複雑な曲面では不自然な伸びが発生する。
2.2 円筒マッピング
円筒マッピングは、円筒形状の表面にテクスチャを巻き付ける手法である。円柱やキャラクターの腕など、曲率が一方向に集中するオブジェクトに適している。上下の端部では歪みが生じ、極部分の処理が課題となる。
2.3 球面マッピング
球面マッピングは、球体の表面にテクスチャをマッピングする。緯度・経度に相当する座標を用いるため、極付近で顕著な歪みが発生する。環境マップや天体のテクスチャリングに使用される。
2.4 UVマッピング
UVマッピングは最も一般的な手法で、3Dモデルを2D展開図(UV展開)に変換し、各ポリゴンにUV座標を個別に割り当てる。複雑な形状でも精密にテクスチャを配置でき、モデリングソフトウェアで手動調整が可能である。ただし、シーム(継ぎ目)の発生や解像度の不均一を注意する必要がある。
3 テクスチャの種類と応用
3.1 カラーマップ
カラーマップ(ディフューズマップ)は、オブジェクト表面の基本色を定義する最も基本的なテクスチャである。光の拡散反射成分を表現し、写真や手描きの画像が使用される。
3.2 バンプマップ
バンプマップは、グレースケール画像を用いて表面の高さの変化を擬似的に表現する。ピクセルごとの明るさを法線の摂動として解釈し、陰影計算に反映させる。実際の幾何形状は変わらないため、遠目には凹凸に見えるが、輪郭や影の正確性は低い。
3.3 ノーマルマップ
ノーマルマップは、RGB画像の各チャンネルに法線ベクトルのXYZ成分を格納することで、より精密な表面の向きを表現する。バンプマップより詳細な凹凸感が得られ、現代のゲームや映画で広く使われる。通常はタンジェント空間で定義される。
3.4 ディスプレイスメントマップ
ディスプレイスメントマップは、グレースケール画像の値に基づいて実際に頂点を移動させ、表面の凹凸を幾何学的に変形させる。GPUのテッセレーション技術と組み合わせることで、ダイナミックな変形が可能だが、計算負荷が高い。
3.5 スペキュラマップ
スペキュラマップは、表面の鏡面反射特性(光沢の強さや色)を制御する。金属質感や磨きのかかった部分を表現するために使用され、PBR(物理ベースレンダリング)ではラフネスマップやメタリックマップとして統合されることが多い。
4 フィルタリングとエイリアシング対策
4.1 バイリニアフィルタリング
バイリニアフィルタリングは、テクスチャのサンプリング時に近傍4ピクセルの線形補間を行う。ジャギー(階段状のギザギザ)を軽減し、拡大時の画質を向上させる。処理は軽量だが、縮小時のエイリアシングには対応できない。
4.2 トライリニアフィルタリング
トライリニアフィルタリングは、バイリニアフィルタリングに加えて、異なるミップマップレベル間の線形補間を行う。これにより縮小時のぼやけや不連続性を改善し、より滑らかな画質を提供する。
4.3 ミップマッピング
ミップマッピングは、テクスチャの解像度を1/2ずつ段階的に小さくした複数の画像(ミップマップチェーン)を事前生成し、画面上の大きさに応じて適切なレベルを選択する手法。遠景でのエイリアシングを防ぎ、パフォーマンスも向上させる。
4.4 異方性フィルタリング
異方性フィルタリングは、テクスチャが斜め方向に伸びたときのぼやけやモアレを低減する高度なフィルタリング手法。サンプリング形状を視点方向に沿って楕円形に変形させることで、斜め方向の詳細を保持する。GPU負荷は高まるが、画質向上に効果的。
5 現代的実装と最適化
5.1 テクスチャアトラス
テクスチャアトラスは、複数のテクスチャを1枚の大きな画像にまとめる手法である。描画時にテクスチャの切り替え回数を減らし、GPUのバインドコストを削減できる。ただし、UV座標の重なりやフィルタリングの不具合に注意が必要。
5.2 タイルリングとシームレスなテクスチャ
タイルリングは、繰り返しパターンのテクスチャを連続して貼る手法で、広い面を少ないデータ量で覆う。シームレスなテクスチャは、繰り返し境界が目立たないようにデザインされる。最新の手法では、グラフカットや機械学習を用いた自動生成も行われている。
5.3 物理ベースレンダリングとの統合
物理ベースレンダリング(PBR)では、アルベド、メタリック、ラフネス、ノーマル、オクルージョンなどの複数テクスチャを組み合わせて使用する。これにより現実の物質の光学的挙動を正確に再現し、一貫した見た目を実現する。テクスチャマッピングはPBRワークフローの基盤をなす。
5.4 ストリーミングと圧縮技術
大規模な3Dシーンでは、テクスチャデータを段階的にロードするストリーミング技術が用いられる。仮想テクスチャリングやメガテクスチャと呼ばれる手法では、巨大なテクスチャ空間を動的にページングする。圧縮技術として、BC(ブロック圧縮)ファミリーやASTC(Adaptive Scalable Texture Compression)が標準的に使われ、メモリ使用量と帯域を削減する。
6 応用分野と未来展望
6.1 ビデオゲームでの利用
ビデオゲームでは、キャラクター、環境、プロップなどあらゆるオブジェクトにテクスチャマッピングが不可欠である。特にオープンワールドゲームでは、高解像度テクスチャのストリーミング管理が重要になる。近年はナノテクスチャや仮想テクスチャリングにより、ほぼ無制限のディテールを実現している。
6.2 映画・アニメーション制作
映画のVFXでは、フォトリアルなテクスチャマッピングが欠かせない。スキャンした実物の素材からテクスチャを作成し、キャラクターやプロップに適用する。また、映像作品特有のアートスタイル(セルルックなど)でも、テクスチャマッピングは重要な役割を果たす。
6.3 仮想現実と拡張現実
VR/ARでは、没入感の向上に高品質なテクスチャが求められる。ただし、リアルタイム性能が厳しく制約されるため、ミップマッピングや圧縮、ストリーミングの最適化が特に重要である。また、テクスチャの解像度が視覚的快適性に直接影響する。
6.4 プロシージャルテクスチャとAI生成テクスチャ
プロシージャルテクスチャは、数式やアルゴリズムで動的にテクスチャを生成する手法であり、メモリ使用量が少なく、解像度に依存しない利点がある。近年のAI技術(GANや拡散モデル)を用いたテクスチャ生成は、入力画像から自動でテクスチャを合成したり、スタイル変換を行ったりする。これにより、アーティストの作業を大幅に効率化する可能性が期待されている。