法線マップを活用したバンプマッピングは、1ポリゴンで表現するにはコストパフォーマンス的に見合わない微細凹凸を表現するために非常に重宝する技術であった。実際、プログラマブルシェーダ・アーキテクチャ・ベースのGPUとなって以降、3Dゲームグラフィックスにおいて最も普及した技術といえるかもしれない。

ところが、この技術も万能ではなく、特定の条件下では破綻してしまう。これを改善する改良版バンプマッピングともいえるのが「視差遮蔽マッピング」(Parallax Occlusion Mapping)だ。

法線マップによるバンプマッピングの弱点

法線マップを活用したバンプマッピングは、微細凹凸の法線ベクトルを用い、リアルタイムに光源に対してピクセル単位に陰影計算を行うため、その立体的な陰影は光源が移動すればちゃんと動くし、遠目には本当に微細凹凸があるように見える。しかし、実際には凹凸のジオメトリ情報はないので、視点をこの凹凸に近づかせすぎるとウソが露呈する。

三人称視点の3Dゲームであればある程度、視点(カメラ)を対象物から引き離しておくことが出来るが、一人称視点のゲームではなかなかそうも行かない。

「F.E.A.R.」(MONOLITH,2005)より。遠目には凹凸がちゃんとあるように見えた煉瓦の壁も近づいて見ればこの通り。実際に凹凸はなく、平らなのに陰影が付くという不自然さが露呈する。
(C)2005 Monolith Productions, Inc. All rights reserved. Published by Vivendi Universal Games, Inc. under license from Monolith Productions, Inc. F.E.A.R., Vivendi Universal Games and the Vivendi Universal Games logo are trademarks of Vivendi Universal Games, Inc. Sierra and the Sierra logo are registered trademarks or trademarks of Sierra Entertainment, Inc. in the U.S. and/or other countries. MONOLITH and the Monolith logo are trademarks of Monolith Productions, Inc. All other trademarks are property of their respective owners.

バンプマッピングにおいて、視点が近づいて「不自然さ」が露呈する理由は何かと考えてみると、

  • 実際に凹凸があれば、その凹凸による前後関係の遮蔽が感じ取れるはずなのに、それがなく、平面に陰影が付いたように見えてしまう

という部分にあることが分かる。

これを解決していけば、バンプマッピングの弱点を克服できるはずだ。

改良型バンプマッピング「視差マッピング」

こうした考えの下、現在までに様々な改良型バンプマッピングが考案された。

SIGGRAPH 2001で発表された「Polynomial Texture Mapping」(多項式テクスチャマッピング)なとがその一例だが、それよりもシンプルで、事前計算が不要で実装しやすい「視差マッピング」(Parallax Mapping)の方が人気を集め、その改良と普及が進んできている。

法線マップを活用したバンプマッピングでは、微細凹凸の情報として、その微細凹凸の法線ベクトルのみを利用するが、視差マッピングでは、法線ベクトルに加え、その微細凹凸の高さ情報も利用する。高さ情報は、法線マップを作成するときの中間情報であった「ハイトマップ」(Height Map)そのものに相当するので、面倒がない。

法線マップベースのバンプマッピングの場合、あるピクセルについての描画を行う場合、そのピクセルに対応した(テクスチャ座標の)法線マップから取り出した法線ベクトルで、陰影計算をする。これは、つまり、視線とそのポリゴン上のピクセルの交差点について、実際の凹凸量を無視して、陰影計算をしていることになる。

そのポリゴンに対して正面同士、相対して見ているようなときにはこれでも不自然さはないのだが、視線が斜めになってくると、この凹凸の陰影と、その表現したい凹凸量のズレが大きくなり不自然となってしまう。

そこで、この凹凸量に配慮してやろうというのが視差マッピングになる。

法線マップによるバンプマッピングの場合、凹凸を相対して見ているときには不自然さはそれほどないが……

斜めから掠めて見ると、凹凸の遠近が配慮されないためにこんな感じになってしまう

本来ならば凹凸の遠近が配慮されてこう見えるはず。これをやろうというのが視差マッピング

表現しようとしているその凹凸が「ものすごくなだらかである」という仮定を立てられるとき、描画しようとしているピクセル位置の高さと、その視線がその凹凸と交差する場所の高さはほぼ同じということが出来る。であれば、描画しようとしているピクセル位置の高さ情報と視線が交差する位置の足元が、高さ情報に配慮した法線マップの参照位置ということにできる。

この"操作"により、掠めるような角度の視線の先の凹凸もそれなりに立体的に見えるようになる。

これが視差マッピングだ。

普通のバンプマッピングの不自然さの原因

視差マッピングは、法線マップ参照位置を凹凸の高さを記録したハイトマップの情報を元にずらしたアレンジ版バンプマッピング

この視差マッピングを採用した3Dゲームは既にいくつか存在している。ピクセルシェーダの負荷はほとんど法線マップベースのバンプマッピングと変わらないという特性もその採用を積極化させているようだ。(続く)

「F.E.A.R.」(MONOLITH,2005)より。左がただの法線マップベースのバンプマッピング、右が視差マッピング。
(C)2005 Monolith Productions, Inc. All rights reserved. Published by Vivendi Universal Games, Inc. under license from Monolith Productions, Inc. F.E.A.R., Vivendi Universal Games and the Vivendi Universal Games logo are trademarks of Vivendi Universal Games, Inc. Sierra and the Sierra logo are registered trademarks or trademarks of Sierra Entertainment, Inc. in the U.S. and/or other countries. MONOLITH and the Monolith logo are trademarks of Monolith Productions, Inc. All other trademarks are property of their respective owners.

「Tom Clancy's Splinter Cell Chaos Theory」(UBI SOFT,2005)より。左がただの法線マップベースのバンプマッピング、右が視差マッピング。
(C)2005 Ubisoft Entertainment. All Rights Reserved. Splinter Cell, Splinter Cell Chaos Theory, Sam Fisher, Ubisoft, and the Ubisoft logo are trademarks of Ubisoft Entertainment in the U.S. and/or other countries. If you need to speak about the game, you have to write the full title this way:Tom Clancy's Splinter Cell Chaos Theory. If you need to speak only about the Splinter Cell licence, you have to name it this way:Tom Clancy's Splinter Cell(R)

(トライゼット西川善司)