テクスチャマッピング

1はテクスチャ無しの3Dモデル
2はテクスチャ有りの3Dモデル

テクスチャマッピング (texture mapping) とは、3次元コンピュータグラフィックスで作成された3Dモデル表面に質感を与えるための手法。テクスチャ (texture) とは元来、織物の質感を意味する。

日本産業規格による翻訳では「きめ(肌理)写像」や「テクスチャ写像」[1]という直訳が割り当てられているが、これらのJIS用語がコンピュータグラフィックスの分野において実際に使われることはない。

概要

左は400万ポリゴンの3Dモデル。中央はそれを500ポリゴンに削減したもの。右は500ポリゴンの3Dモデルにテクスチャマッピングを施したもの。わずか500ポリゴンでも遜色なく描画できており、テクスチャマッピングの絶大な効果がわかる。

テクスチャマッピングの技法は1974年エバンス・アンド・サザランド社 (Evans and Sutherland) の産業用シミュレーションCGの製作に携わっていた、ユタ大学エドウィン・キャットマル (Edwin Catmull) らによって開発された[2]

テクスチャは3Dオブジェクトの表面に壁紙のように貼り付けられ、ノン・テクスチャ・モデルとは比べものにならないほど質感の向上をもたらす。たとえば岩肌のテクスチャを不均等な多面体に適用すれば、多くの凸凹にポリゴンを使うことなく、現実感のある岩山を表現できる。実物を3Dモデル化する場合、細かな凹凸までモデリングしていたのでは非効率的であるため、テクスチャマッピングが多くの場面で利用され、ポリゴン数の削減とパフォーマンスの向上に寄与している。

テクスチャ技法の欠点としては、レンダリング時の詳細度がテクスチャ画像の解像度に依存するため、テクスチャの解像度が十分でない場合、視点に近いポリゴンではピクセルが露呈してしまうことが挙げられる。この問題を解消するためにテクスチャの解像度を上げようとする場合、テクスチャを格納するために利用可能な記憶領域の容量とのトレードオフとなる。これはベクター画像に対するラスター画像のデメリットに相当する。

テクスチャマッピングからの発展として、単なるテクスチャ貼り付けのみならず、より高度なマッピング手法が開発されており、写実表現に欠かせないものとなっている(さまざまなマッピングを参照)。高度なマッピング処理はプログラマブルシェーダーを用いて実装される場合もある。

テクスチャ座標

テクスチャの上の座標がテクスチャ座標であり、2次元ベクトル、または3次元ベクトルで示され、ベクトルの成分は多くの場合U, V, Wで示される[3]。 テクスチャを物体に適用するためには、物体の各部分がテクスチャ上のどの部分を使用するかという情報が必要であり、これはテクスチャ座標で示される。このテクスチャ座標は正確にはピクセル毎に必要となるが、実際には処理速度確保のために頂点毎に計算され、ピクセル毎の座標は線形補間されることが多い。

テクスチャ座標はテクスチャのサイズを超える外側を指定することもできるが、その場合の画素値をどのように決めるかに関しては、いくつかの処理方法がある(クランプ・リピート・ミラーなど)。

2次元テクスチャの場合、テクスチャ座標は事前に設定されるか、次の手法により生成される。(なお、2次元テクスチャ座標は、U軸・V軸で表されることから「UV座標」とも呼ばれる)

平面投影

テクスチャを貼り付けた平面を物体が存在する座標系上に配置し、それを物体に投影する。投影する方向と面が垂直に近い場合、テクスチャは引き伸ばされ、歪みが大きくなる。

円筒マッピング

テクスチャを側面に貼り付けた円筒を座標系の上に配置し、それを物体に投影する。一般に、テクスチャ座標でのU軸が角度方向となり、V軸が高さ方向となる。

球体マッピング

テクスチャを貼り付けた球体を座標系の上に配置し、それを物体に投影する。一般に、テクスチャ座標でのU軸が経度となり、V軸が緯度となる。

UDIM

2次元テクスチャを、横方向に10個、縦方向に900個並べたタイル(パッチ)で表現し、各タイルに1001から9999までの通し番号を振り、複数のタイルを組み合わせて使うことで、テクスチャの解像度の不足等を補う方式。10×900個全てのタイルの画像を用意する必要はなく、必要な数と組み合わせでタイルを配置することで、柔軟性の高いマッピングを実現する。例えば、より高い解像度を必要とする部分には多くのタイルを使って大きな面積のテクスチャを構築したり、長方形以外の不定形のテクスチャもタイルの組み合わせをその形に合わせて配置することで可能とする。Foundry社のMARIで開発され、modoMaya、Substance Painterなど対応するアプリケーションソフトウェアが徐々に増えつつある。


3次元テクスチャに関しては、6枚の正方形の2次元テクスチャを正六面体すなわち立方体の展開図に配置するキューブマップ英語版や、2次元テクスチャを奥行き方向に重ねたボリュームテクスチャがある。キューブマップは環境マッピングによく利用される。ボリュームテクスチャはフォグや煙、爆発などのエフェクトによく利用される。

さまざまなマッピング

テクスチャマッピングは、他のマッピング技法と区別するため、色情報あるいは拡散反射成分のみを与えるという意味でカラーマッピングもしくはディフューズマッピングと呼ばれることもある。そのほか、光沢(鏡面反射)の特性をマテリアル単位(ポリゴン単位)ではなくピクセル単位で与えるグロスマップ(スペキュラーマップ)などもある。

テクスチャマッピング
テクスチャと呼ばれる模様や画像を貼り付ける(カラーマップ、ディフューズマップ)
グロスマッピング
ピクセル単位で光沢の度合いを制御する(グロスマップ、スペキュラーマップ)
バンプマッピング
表面に擬似的な凹凸を持たせる(ハイトマップ)
環境マッピング
擬似的に周囲の写り込みを再現する
透過マッピング
部分あるいは全体に透明度/不透明度のパターンを持たせる(アルファマップ)
法線マッピング
ピクセル単位の3次元法線ベクトルで表面の詳細度を疑似的に向上する(ノーマルマップ)
シャドウマッピング
光源から見たシーンの深度情報を格納しておき、シーンに影を付与する(シャドウマップ)
ディスプレイスメントマッピング英語版
ローポリゴンモデルに対して、レンダリング時に詳細な凹凸情報を与えることで、実際の形状(ジオメトリ)を細分化・変位させ、ディテールを豊かにする[注釈 1]

脚注

注釈

  1. ^ 関連技法としてサブディビジョンサーフェスおよびテッセレーションも参照。

出典

  1. ^ JISX0013 1998.
  2. ^ Catmull, E. (1974). A subdivision algorithm for computer display of curved surfaces (PDF) (PhD thesis). University of Utah.
  3. ^ Volume Texture Resources (Direct3D 9) - Win32 apps | Microsoft Docs

文献

関連項目