Electronic Entertainment Expo 2002現地レポート番外編

3Dゲームファンのための最新グラフィックエンジン講座
史上最強の「DOOM III」エンジンついに公開!
E3デモムービーは次世代ATI製GPUで動いていた!!

会期:5月22日~24日(現地時間)

会場:Los Angeles Convention Center

 5月22日から3日間に渡って開催されたE3が終了した。E3はその年度内に発売されるゲームの見本市的なイベントだが、全体を通してみると、その年のコンピュータエンターテインメント全体の動向や、来年以降への進化の方向性のようなものが見えてくる。ここでは、E3で公開された3Dゲームの最新グラフィック動向について、今年のトレンドと来年以降の未来像について考えて見ていくことにする。


■ 「DOOM III」エンジンは次世代3Dグラフィックエンジンの標準となるか!?

「DOOM III」のリアルタイム映像を公開した「DOOM III」シアター。その映像のクオリティの高さはE3来場者の間でも口コミとして広まり、E3開催期間中、もっとも混雑したコーナーとなっていた
 「DOOM」シリーズ、「Quake」シリーズといった大ヒット作を生み出してきたid softwareは、優秀なゲームデベロッパーであると同時に、時代時代におけるPCゲームのビジュアルの新水準を示してきたパイオニア的な存在でもある。具体的には、「DOOM」シリーズで、1人称シューティング(First Person Shooting)というゲームジャンルの基盤を築き上げ、「Quake」で3dfxのVoodooチップにいち早く対応することで、3Dアクセラレータの存在を一躍身近なものにした。

 現在、同社が2003年発売予定として開発中の「DOOM III」は、新開発の「DOOM IIIエンジン」ベースで制作されており、今年のE3ではそのエンジンによるリアルタイム生成の映像が初めて公開された。

 「DOOM III」エンジンは、明らかに現行の3Dゲームのグラフィックスのクオリティとは一線を画しており、3Dゲームグラフィックスのクオリティの新たな標準として君臨しそうな手応えすら感じられた。ここでは、特に注目すべきテクノロジーにスポットライトを当てて見ていくことにしたい。


■ レガシーGPUフリーなエンジン&自己遮蔽の世界

このレベルの3Dキャラクターがリアルタイムで動作する
胸の筋肉の凹凸などは自己遮蔽によって表現される陰影だ
 まず、今回公開されたデモ映像で注目したいのは、その圧倒的なポリゴン数だ。「DOOM III」に登場するキャラクタ達は、指一本一本の形状から、鼻や耳の穴に至る細部まで、正確な3Dモデルデザインが行われており、こうしたポリゴンキャラ達が複数出てくるシーンが連続する。その緻密な表現は、PC、コンソールゲーム機の区別無しで評価しても最高レベルで、リアルタイム生成の映像と伝えられてもにわかには信じがたいレベルに達している。

 これまでの3Dゲームグラフィックは、過去の3Dビデオプロセッサ(GPU)の性能のしがらみにしばられ、640×480~800×600ドット程度の低解像度画面を前提に築き上げられてきた。画面が低解像度では、いくらポリゴン数が多くても、そしてテクスチャが緻密であっても、そのディテールが画面表示に活きてこない。低解像度が多ポリゴン化への進化を阻んできたといっても過言ではないのだ。

 もちろんゲーム側で1,024×768ドットよりも高い解像度を設定できる作品も多いが、実は上がるのは表示解像度だけで、テクスチャ品質はそのまま、登場するキャラクタのポリゴン数は変わらないものがほとんどだ。次世代3Dゲームの標準エンジンを目指す、「DOOM III」エンジンは、ばっさりと低性能GPUへの対応に見切りを付け、ここ最近発売されたGPUのみを動作ターゲットとして開発しているという。一口にそうはいっても、これはかなり思い切った決断だといえよう。

 超多ポリゴンからなる3Dキャラをリアルタイムに表示するためには、それ相当数のジオメトリ演算をこなせなければならないし、高解像度画面でこれを表示するとなれば、とてつもないピクセル処理能力とビデオメモリバンドが必要になってくる。

 これをこなせるGPUとなると、その種類はかなり限られてくることになり、それこそ最低でもGeForce3クラスは必要になるといっていいだろう。今年2月に発表されたNVIDIA GeForce4Tiや、先日発表されたばかりのMATROX Parhelia-512といった最新GPUでは、前世代GPUと比較して、頂点処理ユニットを倍増して大幅な頂点処理能力の強化を行ない、高性能ビデオメモリコントローラの実装で、実効ビデオメモリ性能が劇的に高められたわけだが、こうした最新GPUの進化の方向性は、「DOOM III」エンジンが要求するものと一致する。

 デモ映像の話に戻ると、ポリゴン数以外にも、ライティング面で「おっ」と思わせる部分が何カ所かあった。それは「自己遮蔽表現」だ。自己遮蔽とは、3Dキャラクタ自身の凹凸の影が自分自身に落ちる表現のこと。DOOM IIIデモでは、服や筋肉のシワの影が、光源との位置関係によって伸び縮みするさまが見て取れた。

 現在の3Dゲームグラフィックにおけるライティング処理のほとんどは光源ベクトルと各頂点が持つ法線ベクトルとの関係演算のみで行なわれており、自己遮蔽や相互反射(ラジオシティ)処理を省略している。今まではそこまでやっている余裕もなかったのだが、DOOM IIIエンジンでは、これをサポートしているようだ。

 DOOM IIIエンジンでどのような方式を採用しているかの説明はなかったが、実はこの表現は最近、リアルタイム実装向けに研究が進んでいる分野なのだ。DirectX 8.1 SDKにおいても、自己遮蔽デモとして「バンプ・セルフシャドウ」(Bump Slef Shadow)が収録されているし、DirectX 8.1が発表された昨年の「Meltdown Tokyo 2001」においても、半球ライティング(Hemisphere Lighting)による自己遮蔽実現テクニックの一例が示された。

 自己遮蔽は、ある箇所をレンダリングする際、そこに,光源からの光がどのくらい他のポリゴンにヒットしてから届いているのかをシェーダプログラム等でチェックして、その結果を考慮して陰影処理を行なっていく。当然の事ながらプログラマブルシェーダ(*1)が不可欠な処理系なので、リアルタイムかつ高速に処理するためには最低でもGeForce 3相当のGPUが必要になってくる。

(*1)本稿で「プログラマブルシェーダ」と表記した場合にはプログラマブル頂点シェーダとプログラマブルピクセルシェーダの双方を同時に指し示すものとする

Microsoft Meltdown Tokyo 2001技術資料より。左が自己遮蔽なしの映像、そして右が自己遮蔽ありの映像


■ 異常なまでの影へのこだわり

「DOOM III」エンジンのシャドウイングは現行ゲームエンジンではトップレベルの表現力を持つ
 自己遮蔽とは別に、シーン全体の影の表現についても、「DOOM III」エンジンはとてつもないこだわりを見せている。現行の3Dゲームのグラフィックスエンジンではあまり実装例の少ないセルフシャドウ(キャストシャドウ)、あるいはプロジェクションシャドウを「DOOM III」エンジンではサポートする。

 セルフシャドウとは、3Dキャラクタの各部位の影が自分自身に落ちる表現のこと。たとえば現実世界において、光源が前方斜めにあった時、腕を前に出したとすると、当然その影が自分の胸に落ちる。プロジェクションシャドウは、影の投射、すなわち、たとえば柵の影が地面に落ちているところを3Dキャラクタが歩くと、柵の影が3Dキャラクタのボディの方へ正しく投射される表現だ。

 これらは自然界では至極当たり前の現象なのだが、現行の3Dゲームのほとんどがこの表現を省略している。こうしたシャドウ処理は複数ステップのレンダリングを行ない実現される。まず、光源から見て、オブジェクトの輪郭部分を引き延ばしてできる影領域(シャドウボリューム)を、そのシーンの深度情報(Zバッファ情報)と比較しながらステンシルバッファにレンダリングする。最終工程でステンシルバッファの内容を参照して、影になるべき画面箇所に影色を描画していく。

 この技法はステンシルシャドウボリューム技法と呼ばれ、光源の数が増えた場合はその個数分シャドウボリュームをレンダリングしなければならないわけで、そのレンダリング負荷は相当なものになる。シーンに登場するオブジェクト数が増えれば、それだけ重い処理になるし、その分、単位時間あたりのレンダリング量は多くなる。そういうわけで、これまで一般的な3Dゲームでは、それこそ、現在アーケードやコンソールゲーム機に出ている最新3D格闘ゲームにおいても、この表現は省略されてしまっていたのだ。

 「DOOM III」エンジンでは、これをまじめに処理しており、今回公開されたデモ映像ではその処理の様子がわかりやすいシーンが数多く登場した。右の画面を見て欲しい。これは、天井に吊された白熱電球が振り子のようにユラユラと揺れているトイレで、モンスターが屍を喰っているというシーンだ。この電球は光源となっているので、これが揺れると、その動きにシンクロしてモンスターはもちろん、その他の小道具、大道具の陰影が変化する。そしてすべての影が電球の光の動きに合わせて伸び縮みするのだ。

 一番よくわかるのは、この画面左側の流し台の中の影だ。流し台の凹部分に、流し台の縁の影が差し込んでいるのがわかるだろう。この影までもが、電球の揺れに同期して伸び縮みする。背景オブジェクト一個一個にも、公平にリアルタイム・セルフシャドウが表現されているのはステンシルシャドウボリューム技法の特徴だ。

ステンシルシャドウボリューム技法におけるシャドウボリュームを可視化した図。最終的な映像には可視化されないが、この影生成技法では、このような光源から3Dモデルのエッジを引き延ばしたシャドウボリュームをレンダリングしている


■ R300に対応? 「DOOM III」はDirectX 9対応ハードウェア・ターゲットで作られている?

「DOOM III」エンジンの次なる目標はラジオシティ表現の実装か
 今回初公開された「DOOM III」エンジンが完璧かというと、残された課題もあるにはある。強力なシャドウ表現能力だが、その影の輪郭がきっちりしすぎていて、柔らかなライティングがなされたシーン全体の雰囲気と一致しない違和感があるのだ。

 自然界の影は光源の種類(線光源、点光源など)や相互反射(ラジオシティ)の影響により、全体として柔らかな色合いになる。「DOOM III」エンジンの影は,点光源によってのみ作り出された影なので、輪郭が綺麗すぎてしまっているのだ。よってバランスの良いシーンを作り出すためには、何らかの擬似的なラジオシティ処理、あるいは半影処理が必要になってくるだろう。なお、今回公開された「DOOM III」エンジンはまだ開発途中版だそうなので、さらに化けてくる可能性もある。期待して次期公開バージョンを待つことにしたい。

 ところで、E3開催期間中、ATI関係筋から面白い情報提供があった。それは「DOOM IIIシアターで公開中の映像は、まだ未発表のGPUを搭載したビデオカードを利用して生成されている」というものだった。

 となれば現行RADEON 8500の高速版であるR250か、あるいはDirectX9対応予定のR300のどちらなのかが知りたくなる。これについて聞いてみたところ今度は口を閉ざされてしまったが、「『DOOM III』エンジンは『その新GPUの新機能』に対応した第一号エンジンとなるはずだ」といっていたことから、R300と推測できる。R300は、正式には7月頃の発表が予定されているが、ビデオカードベンダーには3月の時点でサンプルチップが提供されているようなので、このタイミングで実動基板が存在しても不思議ではない。

 さて、これが事実だとすると、「DOOM III」エンジンはDirectX 9フィーチャーにも対応してくる可能性が高いということになる。DirectX 8の登場はセンセーショナルだったが、実際のゲームが出てくるまでに時間が掛かり、対応ハードウェアの売れ行きが芳しくなかった。しかし、「DOOM III」のようなビッグタイトルがDirectX 9前提で登場してくるとなれば、「Voodooを普及させたQuake」以来のキラー現象が勃発する可能性も秘めている。

□id Softwareのホームページ
http://www.idsoftware.com/

(2002年5月29日)

[Reported by トライゼット 西川善司]

I
【Watch記事検索】
最新ニュース
【11月30日】
【11月29日】
【11月28日】
【11月27日】
【11月26日】


ウォッチ編集部内GAME Watch担当 game-watch@impress.co.jp

Copyright (c) 2002 impress corporation All rights reserved.