|
価格:6,279円
ただ、こうした先進グラフィックスを実装したタイトルでは、グラフィックスオプションが高度になりがちであり、初心者には難解だ。2005年に発売された3Dゲームのなかでも、特にこのFEARは設定項目が難解でわかりにくい。 今回は、「FEAR」の各グラフィックス表現の技術解説を行なうとともに、各オプションがどういった表現に対応しているのか、そしてオプションを変更すると、見た目としてどう変わってくるのかなどを解説していきたい。
■ 3Dグラフィックスの「質と量」によるスケーラビリティ まず大前提としてPCプラットフォームのグラフィックスは、各ユーザーの異なるPCハードウェアで適切なパフォーマンスで動作できるように、スケーラビリティに配慮した設計になる。 「FEAR」においても、これは例外ではなく、最低ラインは設けられているものの、性能の低いバリュークラスから、高性能なハイエンドクラスのGPUにまで対応できるような設計となっている。
実際、FEARの3Dグラフィックスオプションの「エフェクト」は主に特殊効果の設定を行なうもので、FEARのビジュアルの見栄えとしての品質を決定づける要素となっている。
●エフェクトディテール~プレーヤーの行動に対するレスポンス品質
そのPCの性能が低ければ、レスポンスとして返すグラフィックスの量を減らし、あるいはその質を低下させればいい。性能が高ければその逆だ。「FEAR」では、放った銃弾が壁にあける弾痕、敵を撃破したときの壁に付着する血痕といった、プレーヤーがゲーム世界に及ぼしたアクションに対するレスポンス表現を、この方針のスケーラビリティをもって実装している。この設定を行なうのが設定オプションの「エフェクトディテール」だ。
設定範囲は「最低-普通-最高」で、「最低」にすると一切の弾痕や血痕が付着しない。そのかわり「最高」にすると、その出現量はかなり多くなるが、時間経過で古いものからシーンから削除されていく。なお、弾痕は、後で触れる「視差マッピング」シェーダーを動かして凹凸を表現しているので、数が増えるとそれだけ負荷は高くなる。
●デカール~スケーラブルな“血のり量” FPS系の3Dゲームでは銃撃を敵に命中させると、血しぶきが出て、敵キャラの衣服に付着する表現をよく目にする。 これは一般的に血の模様を描いたテクスチャを、敵キャラに貼り付けるという単純な処理で実現しているわけだが、適用するテクスチャの枚数が増えることになり、その量が増えるとテクスチャへのアクセスが増えることになるわけで、ひいては負荷向上にひびくことになる。 「FEAR」では、こうした血のりテクスチャのような、3Dキャラクタへの装飾パーツを「デカール」と呼んでおり、シーン内の3Dキャラに対してのこのデカールの適用数量を「切-普通-最高」の3段階で切り換えられるようになっている。
「切」にすると一切の血痕デカール表現はなくなり、「最高」に設定すると血痕デカールが多く出現するようになる。ただ、管理上の都合により、時間経過とともに消える仕組みになっている。
●反射/ディスプレイ~映り込み表現のスケーラビリティ 水面、金属などへの映り込み表現には、周囲の情景を描いたテクスチャを、視線やポリゴンの向きに配慮して適用する疑似技法が一般に利用される。これを環境マップ、場合によってはこうした環境マップを貼り付ける映り込み処理を環境マッピングと呼んだりすることもある。 その昔は、あらかじめ用意したテクスチャを環境マップとして利用するケースが多かったが、高性能GPUが普及した現在では、そのシーンをリアルタイムにテクスチャへレンダリングし、これを環境マップとして使用するのが一般的となった。 3Dゲームでは、環境マップのレンダリングをどの程度の解像度で行なうかで負荷をスケーラブルに調整できるようになっている。高性能なGPUでは、この環境マップのレンダリングを高解像度で行なう余裕があるが、そうでない場合は低解像度で行なう方が無難となる。
「FEAR」では、この映り込み用テクスチャのレンダリング精度を「最低-普通-最高」の3段階で与えられるようになっている。「最高」設定では、映り込み用の環境マップが高精細になるがビデオメモリを多く使用し、なおかつ実行時の帯域負荷も高くなる。逆に「最低」設定では映り込み環境マップがだいぶ低解像度になり、パフォーマンスも向上する。
●ボリューメトリックライト/ボリューメトリックライトデンシティ~光筋表現
3Dゲームグラフィックスではこの光筋を表現するもっとも原始的な方法として、光筋に見立てた半透明立体を配置するというものがある。しかし、これはキャラクタがその光筋を浴びても、その光筋によるスポットライト的な陰影効果が現われないため、本物の光筋でないということがばれてしまっていた。 「FEAR」では、この原始的手法をちょっとだけ推し進め、光筋の断面図に相当する「ライトマップ」(後述)を光の道筋に沿って多層描画する手法を実装している。「ボリューメトリックライト」オプションでは「入」と「切」で、この光筋表現自体のオン/オフができるようになっており、「ボリューメトリックライトデンシティ」オプションでは、この光筋技法の品質を「最低-普通-最高」の3段階で指定できるようになっている。
なお、「ボリューメトリックライトデンシティ」の「デンシティ」は(Density)で「密度」であることからわかるように、この光筋の断面テクスチャの描画密度を言い表しているわけだ。「最低」設定では光筋を構成する断面ライトマップの数が少ないためにカクカクした見た目となってしまっているが、「普通」、「最高」と上げていくにつれてこのカクカク感が低減されリアルな光筋となっていく。
■ 今年のトレンドがわかる「グラフィック」設定項目
1つ目はここまで見てきた「エフェクト」オプションのような、細かい特殊効果のチューニングだ。こちらはその特殊効果の量や品質を調整するもので、パフォーマンスとの関係がおよそ正比例関係であるため、ユーザーとしても比較的見通しのよいチューニング項目であったと思う。 2つ目は3D描画エンジンの動作モードを大きく切り換える、いわば描画プロセスの根幹部分に関わる設定だ。いいかえれば、ビデオカード(GPU)をどう活用するかという比較的ハードウェアに密着したレベルでのチューニングを行なうものと考えるとイメージしやすいかも知れない。 「FEAR」では、こうしたオプション設定項目は「グラフィック」オプションとしてまとめられている。「グラフィック」では、所有しているビデオカード(GPU)の世代に合わせた設定を行なうべきで、前出の「エフェクト」はハイエンド、メインストリーム、バリューといった、そのビデオカード(GPU)のクラス別に適した設定を行なうところと考えて良い。 ●FSAA~ジャギーを低減させるために 自分のPCのグラフィックス性能をギリギリいっぱいまで活用するのにもっともわかりやすい手段なのがアンチエイリアス処理の設定だ。アンチエイリアス処理とは、格子画素系で構成されるコンピュータグラフィックスの最大の泣き所である画面上のギザギザした表現「ジャギー」を低減する効果をもたらすものだ。 「FEAR」では、ジャギーに関わる設定を「FSAA」オプションとして与えている。ちなみにFSAAは「フル・シーン・アンチエイリアス(Full Scene Anti-Alias)」処理の略称だ。 「FEAR」では「切-2X-4X」といった設定が可能となっており、この「2X」や「4X」というのは、アンチエイリアス処理を行なうのに何個分のサブピクセル(1ピクセルを構成するのに必要な微細ピクセルの単位)を用いるかを指している。数値の大きい方がより多くのサブピクセル、すなわち多くの情報を元にして高品位なアンチエイリアス処理が行なえる。 「切」設定では一切のアンチエイリアス効果はなくなり、ジャギーむき出しのピクセルが描画されるようになる。「4X」の方が高品位であることは間違いないのだが、使用しているディスプレイ装置の画面サイズが小さかったり、画面解像度を高く設定した場合は、「切」や「2X」でも違和感がない場合もある。
●ライトディテール~静的な光源処理と動的な光源処理
そこで描画負荷を低減させつつも、あたかもライティングが行なわれているように見せるのが、テクスチャに予め行った光源処理結果を焼き込んでしまう「ライトマップ」と呼ばれるテクニックだ。光散乱や高次反射までに配慮したレイトレーシング的なアプローチでライトマップを作り込んだりすることで、よりリアルなビジュアルへと作り込めるのだが、ライトマップはあくまで静的なライティングであり、動き回るキャラクタとの親和性に問題がある(溶け込んで見えない)。 そこで3Dゲームでは、ビデオカード(GPU)の性能に応じて、ライトマップの使用と実際の光源設定をスケーラブルにバランスできるように設計しているものが多い。「FEAR」でもこのタイプのライティングエンジン設計となっており、「ライトディテール」オプションに対し「最低-普通-最高」の3段階切り替えで、実際に使用する動的光源の数を設定できるようになっている。 「最低」にすると、シーン内全ての光源処理がライトマップだけとなり、「普通」で優先順位の高い光源のみが動的光源となり、「最高」にすると、そのシーンに必要な全ての光源が実際に動的光源として配置されるようになる。 DirectX 9世代プログラマブルシェーダ2.0/3.0対応(シェーダーモデル2.0/3.0)ビデオカード(GPU)であれば「最高」設定でも大きなパフォーマンス降下はないようだ。
●シャドウ~セルフシャドウにも対応な高品位影生成 FEARでは、影生成に「DOOM 3」などと同じ「ステンシルシャドウボリューム」技法を採用している。 ステンシルシャドウボリューム技法では、光源方向から見て輪郭となる3Dオブジェクトの頂点を光源が進む方向に引き延ばしてできる影領域(シャドウボリューム)を生成し、続く視点からのシーンレンダリング時に描画する各ピクセルが、このシャドウボリューム内部にあるか(影になる)、外にあるか(光が当たっている)を、ステンシルバッファに記録。最終的にはステンシルバッファの内容に従って、描画シーンに“影色”を付けていくというプロセスを取る。 この技法では複雑な遮蔽関係に配慮した影生成が可能となっており、お互いが影を落とし合う相互投射影表現、自身の影が自身に投射される自己投射影(セルフシャドウ)なども問題なく生成できる。 「FEAR」では、「シャドウ」オプションがこの影生成のスイッチになっており、「入」、「切」の2段階設定が可能。当然「切」の方が軽くなるがビジュアルとしてはかなり寂しくなる。
●シャドウディテール~影生成もスケーラブルに ステンシルシャドウボリューム技法は、どのキャラクタやオブジェクトに対してシャドウボリューム(影領域)を落とすか落とさないかを決めることで、パフォーマンス的にスケーラブルに影生成を行なえるという特徴を持つ。 「FEAR」では、シーン内に登場するキャラクタやオブジェクトに3段階の優先順位を付けて影生成を行なっており、「シャドウディテール」というオプションの「最低-普通-最高」の各設定に応じて、影の生成量を変えることができるようになっている。 「最低」では影生成が最低限となり、逆に「最高」ではリアルタイムライティングが行なわれるシーンにおいて登場するすべてのキャラクタやオブジェクトに対して影生成が行なわれるようになる。 DirectX 9世代SM2.0/3.0対応のGPUでは、ステンシルシャドウボリューム技法の影生成のアクセラレーションが効くので、この世代のGPUを搭載したビデオカードならば「普通」以上の設定が可能だろう。
●ソフトシャドウ~トレンドの半影処理
さて、ソフトシャドウを物理演算的に正しい手法で生成しようとすると、とてつもなく重い処理になってしまうので、3Dゲームグラフィックスでは、画像処理的なアプローチでこれを実現する場合がほとんどだ。「FEAR」もこの方式を採用している。 「FEAR」におけるソフトシャドウ生成法は、ステンシルシャドウボリューム技法にてシーン内の影情報として作成されたステンシルバッファの内容を、ブラーさせる(ずらして重ねる)という、ごくごく基本的なアイディアを実装している。 なお、「ソフトシャドウ」オプションでは、ソフトシャドウ表現を有効にするかどうかの設定が行なえる。設定は「入」、「切」の二択式となっている。
●テクスチャフィルタリング~テクスチャを高品位に適用するための方策 「テクスチャをポリゴンに貼り付ける(適用する)」という言い方をするが、実際にポリゴンに対してテクスチャを適用する際、そのポリゴンは傾いたり遠くに行って小さくなったり、近くに来て大きくなったりと、ビデオメモリ内のテクスチャ画素(テクセル)とポリゴンを構成する画素(ピクセル)が1対1に対応するケースは希だ。 そういうわけで、3Dグラフィックスには「いかにテクスチャを適用すれば高品位になるのか」という命題が生まれることとなった。この命題に対していくつかの解法ともいえるアイディアが誕生してきており、これがいわゆる「テクスチャフィルタリング」と呼ばれる処理系だ。 現在のビデオカード(GPU)にはバイリニア、トライリニア、アニソトロピック(異方性)の3手法のテクスチャフィルタリング機能が実装されている。バイリニアは取り出したテクセルの近傍4点の平均を適用テクセルとしてしまう単純な方法だ。ポリゴンの拡大縮小が行なわれたケースに対応するため、あらかじめ縮小テクスチャを用意しておくミップマップとよばれるテクニックを併用することもあるが、このミップマップの縮小レベルの切り替えポイントが、映像に境界線のように見えてしまうことがある。 トライリニアでは、テクセル取り出し時に、複数のミップマップを参照することで、この切り替えポイントを目立たなくする効果があるが、いずれにせよ、最奥付近のテクスチャがぼやけ気味になる弱点はなくならない。 アニソトロピックでは、そのテクスチャを貼り付ける対象ポリゴンの面の向きと視線角度の位置関係に応じて最適なテクセルをテクスチャから取り出す高度なアルゴリズムが働くので、バイリニアやトライリニアと比べると各段に映像の品質が高い。ただ、その複雑なアニソトロピック・アルゴリズムをどう実装するか、どう最適化するかが、各GPUメーカーの腕の見せ所になっている。 「FEAR」では、「テクスチャフィルタリング」オプションにて「バイリニア-トライリニア-アニソトロピック2X/4X/8X/16X」の設定できるように開放されている。「2X」といった数値は、何テクセル分をフィルタリング処理をする際に利用するかのパラメータであり、数値が大きいほど高品位になるがその分負荷が高くなってパフォーマンスが下がる。 あくまで個人的な意見だが、1,024×768ドット程度の画面解像度でハイエンドクラスのビデオカードであれば4Xあたりを設定すれば必要十分な映像が得られるようだ。
●テクスチャ解像度~映像クオリティの根幹要素 3Dゲームグラフィックスの情報量は、シェーダーによる陰影処理の品質を度外視すれば、かなりの要素をテクスチャの品質と3Dモデルのポリゴン数によって左右されている。 ポリゴン数が多ければ多いほど、ジオメトリ負荷が増大することは想像に難くないだろう。テクスチャ品質が高くなればなるほどテクスチャメモリを多く占有するようになり、また、GPU内部のテクスチャキャッシュが効きにくくなってテクスチャアクセスが増大してメモリバスを圧迫するようになる。 そういうわけでテクスチャ品質の善し悪しはパフォーマンスにも響いてくるのだ。「FEAR」でもテクスチャ品質を「テクスチャ解像度」オプションにて「最低-普通-最高」の3段階から設定できるようになっている。 「最高」設定とする場合にはビデオメモリを256MB以上搭載した中堅クラス以上の大容量ビデオカードでないと、ローカルビデオメモリにテクスチャが置けなくなってパフォーマンスが低下することがある。最新世代のビデオカード(GPU)であっても、いまやビデオメモリ128MBでは不足するケースが起こることもあることを覚えておこう。
●ピクセルダブリング~画面解像度を維持して低解像度描画をする方法 FEARにはちょっとユニークな小技的パフォーマンスアップ機能が搭載されている。それが、ノートPCの一部の機種のように表示画面解像度の変更が自由でない状況下で、パフォーマンスを向上したい場合などに用意された「ピクセルダブリング」と呼ばれる機能だ。 この機能を「入」設定とすると、画面解像度を維持したまま、レンダリング解像度だけを粗くしてパフォーマンスを稼ぐことができるようになる。かなり使用状況は限られてくるとは思うが、細かい点に配慮しているのはありがたい。
●DX8シェーダー~視差マッピングはDX9シェーダーモード限定 バンプマッピングは実際には存在しない微細凹凸をそれらしく見せる疑似方法だ。しかし、あくまで疑似であるため、その凹凸に近づいてみると実際に凹凸はないことがばれてしまう。 これの改良系として登場し、最近では実装例が増えているのが「視差マッピング」だ。なお、「FEAR」においても「視差マッピング」を活用したビジュアルは随所に確認することができる。 視差マッピングは、簡単に言えば、バンプマッピングでは無視していた微細凹凸の高さ情報にまて配慮したものということができる。つまり、その微細凹凸が見せる相互の遮蔽関係までを再現することでできるようになり、バンプマッピングの「近づいて見ると凹凸のウソがばれる」という弱点をある程度克服したものとなっている。 なお、視差マッピングはこのFEAR以外としては「Splinter Cell Chaos Theory」でも、活用されており、その様子は「3Dゲームファンのための『Splinter Cell Chaos Theory』グラフィックス講座」でも紹介している。 さて、「FEAR」ではグラフィックスエンジンのレンダリングモードを旧世代である「DirectX 8世代のプログラマブルシェーダ1.x」とするか現行世代である「DirectX 9世代のプログラマブルシェーダ2.x/3.0」のどちらかを選択することが出来る。 例えばGeForceFX5200に代表されるバリュークラスのビデオカード(GPU)は、DirectX 9世代のプログラマブルシェーダ2.0対応製品ではあるが、あくまで「プログラマブルシェーダシェーダ2.0が動かせる」というだけであり、実際に動かすとパフォーマンスが低く、実用にならない場合がある。 こうした、世代的には適合するのだが性能の低いバリュークラスのGPUにてFEARを動作させようとする場合には、シェーダの活用を明示的に限定的にしたり、負荷の低い旧世代仕様のシェーダーを動かすようにする必要が出てくる。この「DX8シェーダー」オプションはまさにそのための設定項目となる。 「入」設定とすると、プログラマブルシェーダ2.x/3.0のシェーダはキャンセルされ、1.xシェーダに置き換えられる。若干、単純化されるためビジュアル的に少々寂しくなるが、おおむね似た効果は得られるので、フォールバックシステムとしてはよくできているといえよう。 「切」設定のプログラマブルシェーダ2.x/3.0ではより長いシェーダが実行でき、なおかつ多段従属テクスチャ参照の制限が取り払われているために、よりリアルかつ印象的なビジュアル表現が実現される。 なお、念のために触れておくと、前出の「ピクセルダブリング」と、この「DX8シェーダー」のオプションは「切」設定とした方が描画品質は高くなると言うことだ。つまり、闇雲に全オプションを設定すると逆にビジュアルクオリティを下げてしまうということだ。留意したい。 FEARでは、このオプションを「切」設定としてDirectX 9世代のプログラマブルシェーダ2.x/3.0活用モードにしておかないと、バンプマッピングの次世代形とされる「視差マッピング」や、よりリアルな水面表現を得ることができない。
●シェーダー~もうひとつのビジュアルスケーラビリティ 3Dゲームのグラフィックスにはスケーラビリティが持たされていることはここでも何度か述べているが、最近ではシェーダーの設計や実行にもスケーラビリティが配慮されるようになってきた。 前段の使用するシェーダーモデルのバージョンを切り換えてしまうのも1つの方策だが、「FEAR」ではもう1つ、複数パスで実行される各シェーダーの動作をどのレベルまで実行するかを規定するかを設定する方策も用意されている。
それが「シェーダー」オプションで、「最低-普通-最高」の3段階設定が可能となっている。「最高」設定で得られるビジュアルが、本来のFEARグラフィックスデザイナーチームが想定したものなのだが、「普通」や「最低」設定とすることで、表現品質はやや中途半端にはなるがパフォーマンスを稼ぐことはできるようになる。
■ おわりに FEARという3Dゲームのグラフィックステクノロジーとその設定によるビジュアルによる違いを見てきたが、いかがだったろうか。なお、詳しいゲーム内容については、こちらのレビュー記事を参照して欲しい。 今回は、「FEAR」を取りあげてはいるが、この世代の3Dゲームはかなりこれと似たオプション構成になっているはずで、手持ちのタイトルや近い将来登場してくるタイトルの設定においてもある程度の参考になるはずだ。
また、自分のPCのグラフィックスサブシステム(GPUやビデオカード)が、どの表現に弱いか、ということも見えてくるはずで、そうなれば、GPUやビデオカードが買い替え時なのかどうかも判断がしやすくなるはずだ。
(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.
□ライブドアのホームページ (2005年12月28日) [Reported by トライゼット西川善司]
また、弊誌に掲載された写真、文章の転載、使用に関しましては一切お断わりいたします ウォッチ編集部内GAME Watch担当game-watch@impress.co.jp Copyright (c)2005 Impress Corporation, an Impress Group company. All rights reserved. |
|