|
PCゲームレビュー特別編 |
テレビからの光も光源として処理されている。この光がサムや椅子をはじめとした家具の影までを作り出している点にも注目 |
これに対して「Splinter Cell」の3Dグラフィックは、環境光を押さえ気味にし、シーンに登場する光源のほとんどを3D空間内に登場する光るもの(電球や蛍光灯、テレビなど)に設定して、リアルタイムにライティングを行なう方式を採用している。これにより、プレーヤー(あるいは敵)が、インタラクティブにシーンの光源に関与できるシステムを実現しているのだ。
このシステムを象徴したこんなシーンがある。扉を開けると蛍光灯が立ち並ぶ廊下が広がっている。この廊下奥では警備兵が立っている。このまま侵入すると姿を見られてしまう。そこで、天井の蛍光灯を自分の近い方から2、3個銃撃して破壊してやる。するとその蛍光灯の光が消え、自分のいる廊下の入り口周辺はグッと暗くなり侵入しやすくなる。ただし、蛍光灯の点いている廊下奥のほうはまだ明るい……。
「Splinter Cell」では、シーン内に登場する電球や蛍光灯、液晶ディスプレイなどの小道具を破壊したり、スイッチを消したりすると実際にそこからの光が消え、シーンの明るさをドラスティックに変化させることができるのだ。
ちなみに、「Splinter Cell」では周囲が暗いと当然画面上の自分の姿も見えなくなる。だからこそ、敵にも自分の姿は見えないというわけだ。しかし、これではゲームにならない。そこで活用するのが標準武装の暗視スコープだ。この動的なライティングシステムにより、「闇に自分を沈み込ませる」という基本ゲーム性が非常にインタラクティブでわかりやすい形で表現され、なおかつ「暗視スコープを使う」という行為に必然性まで生じさせている。
文章で説明してみると、なんてことないシステムのように思えるが、ここまで動的な光源処理を持ったゲームはまだ少ない。それはシーン内に動的な光源を複数おくと、その数に比例して、そのシーン内に登場する3Dオブジェクトに対する陰影処理における光源演算の回数が増えてしまうからだ。
これはハイスペックなPCグラフィックスシステム、あるいはこれに近いXboxのXGPUだからこそ実装できたシステムだといえる。また、「Splinter Cell」の「あまり一度に大勢の敵が登場しない」というスニーキングアクション特有のゲーム性に助けられている部分もあるかもしれない。
煌々と輝くテレビ | これを破壊すると |
真っ暗になる | 暗視スコープに切り換えればご覧の通り |
■ 影も完全リアルタイム生成する「Splinter Cell」グラフィックスの底力
「Splinter Cell」のグラフィックスの技は光だけではない。影の表現も、これまでのあらゆるゲームグラフィックの最上位に位置するものとなっている。
一般的な3Dゲームグラフィックでは影の表現は省略していたり、あるいは背景に対してはプリレンダーした影をおいている場合が多い。これはもちろん、グラフィックスの負荷を抑えるためだ。ところが、「Splinter Cell」ではこのテクニックを使うことができない。なぜならば光源を動的に設定した関係で、バランスを取るために影も必然的にリアルタイム生成しなければならないからだ。
ところが影生成というのはかなり面倒かつ高負荷な処理系で、現在の3Dゲームグラフィックスにおいても最も手が抜かれている部分なのである。現在の3Dゲームグラフィックにおいて、あるピクセル(面、フラグメントと考えてもいい)の陰影処理を行なう際、基本的には視線ベクトルと光源ベクトルと面の向きを表す法線ベクトルの3パラメータで処理される。
反射方程式の基礎に則った考えなので何の問題もないように思えるが、実は「光源からの光が第三者によって遮蔽されているかもしれない」という要素を完全に除外してしまっている。これは重大な「手抜き」で、だから鼻の穴や耳の穴の中が明るい3Dグラフィックスが平然と表示されてしまう。影生成は別処理系を用意しなければならないのだ。
「Splinter Cell」では、この影生成をシャドウマッピング技法と呼ばれる影生成アルゴリズムを採用して、これをかなり徹底した次元で行なっている。「SCのグラフィックの見どころは影にある」といっても過言ではないのだ。
シャドウマッピングとは光源を視点としてシーンをZバッファレンダリング(深度情報をレンダリング)して影分布マップ(シャドウマップ)を生成、この情報を吟味してファイナルフレームをレンダリングする。いわゆるマルチパスレンダリング技法の1つであり、シャドウバッファの生成回数は光源の個数分だけ行なう必要があるし、処理系としてはかなり重い。しかし、複雑なシーンでも正確に遮蔽を把握して影生成が行なえる利点がある。光源が移動したり消えたりした場合でも、それがリアルタイムに影生成に反映されるので高次元のリアリティが演出できるのだ。
どの程度の影が生成されるのかは実際、自分の目で確認して頂きたいのだが、たとえば、段と段の間に隙間のある非常階段。光源が上にある場合、この階段の影に身を潜めると、階段の影と各段の隙間から漏れる光がサムの体に正確に投射される。金網やブラインドからの影と漏れた光なども正確に、シーン内の小道具、大道具、キャラクタ達にも投射される。
「Splinter Cell」におけるこの徹底した影生成は、リアリティ表現に一役買っているのはもちろんだが、これがゲーム性に結びついているのもユニークだといえる。たとえば壁を背に様子をうかがっていると足音がする。廊下に視点をやると敵の影が視界に入る。これで敵がどのくらいの位置にいるかが把握できるのだ。
また、部屋を物色していたところ、突然敵が部屋に入ってきて照明を点けたとする。この照明によってできた、人1人分だけ隠れられそうな本棚の影に身をとっさに潜めるといったこともできるのである。
自己遮蔽表現の象徴ともいえる、自分の影が自分自身に投射される「セルフシャドウ(自己遮蔽影)」表現もちゃんと行なわれており、頭部に身につけているゴーグルの影は顔に投射されているし、頭部の影は胸に落ちるし、身につけているジャケットにくくりつけた弾薬パックのようなものの影ですら、ジャケット上に落ちる。
また、キャラクタの影が別のキャラクタに投射される「相互等射影」表現は完璧に近い形で表現されており、たとえば、死体隠しの際にサムが肩に担ぎ上げた敵兵の影は指一本一本に至るまでサムの体に投射されている。ここまで徹底した影表現には手放しで誉め称えてあげたい。
ただし、シーンによっては、背景小道具、大道具の一部に、いかなる光源状況でも影が出ないものがあったりする。このあたりはリアルタイム性が命のゲームということで適度に手を抜いているのかもしれない。
なお、以前、UbiSoftスタッフにインタビューしたところでは、「Splinter Cell」の影生成は部分的にステンシルボリュームシャドウ(「DOOM III」などが採用する影生成方式)も併用しているとのことだった。おそらくポリゴン数の多いオブジェクトの影生成にはこちらの技法を用いている可能性があり、この2つの技法が交差する場合にそうした不都合が出ている可能性がある。
■ プログラマブルシェーダの効果を実際のゲーム画面で見たい人に
これがHDRレンダリング。足元の炎に注目。あまりにも炎が明るいためにサムの脚が火に溶け込んだビジュアルになっている。これがHDR表現によるサチュレーション。地味だがプログラマブルシェーダの効果だ |
これによりGPUが本来持っていない全く新しいグラフィックス表現や材質表現が実現できるはずだったのだが、あまりゲームには活用されてこなかった。「Splinter Cell」は、この技術を積極的に採用しているのだ。これまでハイエンドGPUをもてあましていたPCユーザーにとって、まさに待望のソフト、ということができると思う。
水面の表現は法線マップをピクセルシェーダで処理したバンプマッピングを使っているし、非常に明るい太陽光や高輝度の照明に対しては、最近にわかに流行になってきているハイダイナミックレンジ(HDR)レンダリングと呼ばれる技法をピクセルシェーダで実現している。
HDRレンダリングは明るすぎて32ビット色表現に収まらない高輝度の物体に対し、その周囲を意識的にサチュレーション(飽和→例えば写真で言うところの白飛び)させるテクニックだ。蛍光灯を撮影したりすると周囲が霞がかって見えるだろう。これである。
プレイステーションの時代からある、半透明のビルボード(スプライト)を光源に置く疑似技法と違って、視点との位置関係や他の物体との遮蔽関係によってその表情をドラスティックに変化させるので、非常にシネマチックかつフォトリアリスティックなビジュアル表現になっている。
ちなみに「Splinter Cell」でやっているHDRは実はフェイクであり、実際のHDRはDirectX 9世代GPUの浮動小数点実数ピクセルを活用して初めて行なえるものなのだが、「Splinter Cell」のこの表現はこれはこれで面白い。この他、暗視スコープや感熱スコープの視界、早く動く物体へのブラー効果などもすべてプログラマブルシェーダを活用して行なわれている。
■ 「Splinter Cell」を充分なパフォーマンスで動かすために
ところで、一般ユーザにとって気になるのは、果たして自分のPCで「Splinter Cell」が動作するのか、という問題だろう。
まず、CPUについては1GHzクラスのものがあればOKだ。筆者は1.6GHzと2.0GHzのPentium4でプレイしてみたが両者とも満足なパフォーマンスが得られていた。問題はGPU(ビデオカード)の方だ。
まず、びっくりする人もいるかもしれないがビデオメモリは多ければ多いほどいい。「Splinter Cell」の影生成に使われているシャドウマッピング技法では、シャドウバッファの作成に余計にビデオメモリを使用するからだ。また、非常に複雑なジオメトリのシーンでは頂点バッファやインデックスバッファも大量に確保されることもあり、「Splinter Cell」を動作させるにあたってはビデオメモリは多すぎて困ることはないのだ。
ちなみにビデオメモリ64MBだと最高精度の影生成が行なえない(選択できない)。グラフィックオプションを最高位設定にしたい人は最低でも128MBのビデオメモリが必要になる。ついにビデオメモリ128MBが当たり前の時代に突入し始めているのだ。
今回GeForce3Ti200(64MB)、RADEON8500LE(128MB)、GeForce4Ti4600(128MB)でプレイしてみたのでそれぞれのインプレションを簡単に述べておこう。なお、動作条件はCPUをPentium4 2.0GHz、画面解像度を1,024×768/32ビットカラー、アンチエリアスなし、アニソトロピックフィルタ無し、としている。
GeForce3Ti200/64MBではフレームレートは20~40といったところでプログラマブルシェーダを多用したシーンやジオメトリが複雑なシーンでは15fps程度まで落ちる。ビデオメモリが64MBなこともあり、Shadow Resoultion、Shadow Detail、Effects QuailtyはそれぞれMedium、Highしか選べなかった。
RADEON 8500LEは、ビデオメモリが128MBモデルだったので、ShadowResoultion、ShadowDetail、EffectsQuailtyはそれぞれHigh、High、VeryHighが選べるようになる。ただしフレームレート的にはGeForce 3Ti4200とほとんど変わらない。
GeForce4 Ti 4600になると、前者の2倍のフレームレートが出るようになり、グラフィックスオプションも最高位に設定でき、非常に快適かつ美しくなる。いちおう、DirectX 7世代GPU、たとえばGeForce 2/2MX/4MXファミリーもサポートされていることになっているが、この世代ではプログラマブルシェーダが活用できないのでビジュアル的には非常に寂しいものになる。
ぜひとも、これを機会にDirectX 8世代以降のGPUに買い替えて貰いたい。また、逆に、DirectX 8世代、9世代の高機能GPUを持っているPCユーザーは、そのグラフィックス機能を現実的な形で活かすためにも「Splinter Cell」を購入して頂きたいと思う。
□「Splinter Cell」公式ホームページ
http://www.splintercell.com/
□関連情報
【2003年2月18日】「Tom Clancy's Splinter Cell」Playable Demo
http://game.watch.impress.co.jp/docs/20030218/demo0218.htm
【2002年4月19日】Ubi、「Tom Clancy's Splinter Cell」をXbox、PC向けに発表
サイバーテロに対抗するスニーキング系アクションゲーム
http://game.watch.impress.co.jp/docs/20020419/ubisoft.htm
(2003年4月2日)
[Reported by トライゼット西川善司]
GAME Watchホームページ |
|