パッケージ
Far Cry2 日本語マニュアル付英語版公式サイトへ
読者の評価
79
投稿数:4
レビューを投稿する
海外での評価
88
Powered by metacritic
お気に入りタイトル/ワード

タイトル/ワード名(記事数)

最近記事を読んだタイトル/ワード

タイトル/ワード名(記事数)

LINEで4Gamerアカウントを登録
特集記事一覧
注目のレビュー
注目のムービー

メディアパートナー

印刷2008/12/20 10:30

連載

西川善司連載 / 「Far Cry 2」のグラフィックスオプションで知る,マルチプラットフォームタイトルの現在

西川善司の3Dエクスタシー 「Far Cry 2」のグラフィックスオプションで知る,マルチプラットフォームタイトルの現在

 

image

原稿執筆時点で,PC向けは英語版のみとなるFar Cry 2。発売済みのXbox 360用と,2008年12月25日発売予定のPLAYSTATION 3用は日本語版になる

image

これは初代Far Cryのスクリーンショット。2004年の作品だ

 「Far Cry 2」は,独CrytekがPC向けに開発したFPS「Far Cry」の続編に相当する作品だ。Far Cryの発売後に,CrytekがElectronic Arts陣営に移籍したり,Ubisoft Entertainment(以下,Ubi)がFar Cryに関するすべての権利を取得したりした結果,Far Cry 2はUbisoft's Montreal studioが独自に制作した,実質的な完全新作になっている。

 実際,初代Far Cryの主人公,Jack Carverは本作に登場しない――筆者が2007年のGame Developer's Conferenceで取材したとき,Ubiのスタッフは「Jack Carverでプレイすることになる」と間違いなく述べているので,途中で設定が変わったのだろう――とか,後半SF色が強くなった初代Far Cryに対し,Far Cry 2はアフリカの架空都市におけるリアルな内紛描写にスポットが当たっているとか,世界観は相当異なる。素直に別のゲームと認識したほうが楽しめるだろう。

 ゲームそのものの内容についてはレビュー記事を参照してほしいが,NPCキャラクターとの共闘が描かれたり,NPCとのインタラクトによってクエストを取得するシステムや,ダイヤモンドを貨幣とした武器売買システムが導入されたりと,かなりRPG色の強いFPSになっている印象だ。

 

 

Ubi自社製のDUNIA Engineで動くFar Cry 2

 

 ゲームエンジンは,Ubisoft's Montreal studioが独自に開発した「DUNIA Engine」。「(初代Far Cryで採用されていた)CryENGINE 1.0をベースにして作られている」という見方もあるが,Ubiいわく,CryENGINE 1.0のオリジナルコードはほとんど残っていないとのことなので,まったく新しいエンジンと認識してよさそうだ。
 メインシステムのマルチコア/マルチスレッド最適化設計にはIntelが全面協力しており,一方,グラフィックスエンジン部の設計にはAMDの協力があったという。

 DUNIA Engineが持つ先進性のうち,グラフィックス周りでとくに取り沙汰されているのは,先進的なランタイムプロシージャル技術を導入している点である。

 

image
image

天候や動植物はプロシージャル技術によって制御されている

 プロシージャル技術とは,事前にゲームエンジンに仕込んでおいたアルゴリズムによって自律的なコンテンツ生成を行ったり,その生成制御を行ったりするもの。
 Far Cry 2では,天候の制御や動植物の生成をプロシージャル技術によって実現しており,昼夜が移り変わったり,風が吹いて雲が動いたり,雨雲が形成されて雨が降ったり,草木が生えたりといった現象は,いずれもアルゴリズムの結果として生じる。ゲームデザイナーの手によって設定されたイベントではないのだ。

 そのほか,炎が燃え広がるのに伝搬シミュレーションが導入されている点や,50平方kmにおよぶ広大なゲーム世界を,停止することなく自由に移動できるシームレスローディングの採用,そして,はるか遠方まで,描画境界に縛られずに見渡せるLOD(Level Of Detail)システムの実践などなど。技術トピックに富んだエンジンとして,DUNIA Engineに対する業界の注目は高い。
 Far Cry 2専用エンジンとして開発された本エンジンだが,Far Cry 2が商業的に成功すれば,「Tom Clancy’s Splinter Cell」や「Prince of Persia」といった,Ubiが持つ看板タイトルへの展開があるかもしれない。

 

 

Far Cry 2のグラフィックスオプション

 

 というわけでここからは,PC版Far Cry 2に用意されたオプションメニュー「OPTIONS」から,グラフィックス設定を司る「Display」オプションを解説していくことにしよう。
 なお,スクリーンショットの撮影には,AMDの日本法人である日本AMDの協力を得て,ASUSTeK Computer製の「ATI Radeon HD 4850」搭載グラフィックスカード「EAH4850/HTDI/512M」を用いている。

 

image

「Display」オプション

 

BASIC OPTIONS(基本設定)

●Resolution(画面解像度)

 レンダリング解像度の設定に相当し,高解像度であればあるほど高精細な表示となるが,その分,グラフィックスハードウェア(以下GPU)にかかる負荷は大きくなる。
 Far Cry 2では基本的にアスペクト比の指定を行えない。そのため,画素解像度が1024×768ドットの4:3比率なのに表示アスペクト比が16:9になっている,いわゆる横長長方画素の安価なプラズマテレビでは,表示が横長になってしまう。テレビ出力する場合には注意が必要だ。
 また意外なことに,Far Cry 2では16:9アスペクトのディスプレイの場合でも画角が広がらない。上下を切り捨てる手法でワイド画面が構成されるのだ。つまりFar Cry 2では,4:3画面でプレイするほうが,上下方向の画角が広くなるため,全体的な画面情報量は多くなる。

 

image
image
image
image

解像度とアスペクト比を変えながら撮影したショット×4。ワイドアスペクトは,レンダリング結果としての4:3フレームから切り出して生成生成されているのが分かる

 

 

●Refresh Rate(リフレッシュレート)

 レンダリングを毎秒何コマ(=フレーム)で行うかを設定するもの。本連載で何度か繰り返してきているように,この設定は「グラフィックスカードから出力される映像のリフレッシュレート」とは異なる。あくまで「ゲームエンジン側が毎秒何フレームをレンダリングするか」についてを決めるものだ。

 

image

写真は,液晶ディスプレイに接続した状態で,Far Cry 2側のリフレッシュレートを85Hzに指定したところ。ゲーム側のリフレッシュレート(フレームレート)と映像出力機器側のリフレッシュレートの設定をあえて一致させない設定も可能だ

 選択肢は[50][60][75][85]。単位は省略されているが「Hz」ないし「fps」で,デフォルトの[60]だと,これは「毎秒60コマ」(=60fps)に相当する。
 値を上げれば上げるほどゲームの動きはスムースになるが,GPUへの負荷は高くなる。また,液晶ディスプレイの場合,パネルポテンシャル的な実質最大表示レートは60Hzの製品がほとんどなので,あまり高い数字にしても意味はない。

 60fpsを超えた設定にこだわりたいユーザーは,ブラウン管ディスプレイか,高リフレッシュレートに対応した液晶ディスプレイなどを利用する必要があるだろう。

 

●V-Sync(垂直同期待ち)

 垂直同期を待つか否かの設定で,選択肢は[Yes]と[No]。
 [Yes]だと,ディスプレイ側の垂直同期を待って表示する固定フレームレート表示になり,[No]では垂直同期を待たず,可変フレームレート表示を行う設定になる。

 これは,Refresh Rateオプションと関係の深い設定項目で,GPUが十分に高性能と判断できる場合は,ディスプレイ側のリフレッシュレート(=グラフィックスカードの出力リフレッシュレート)と,前出のRefresh Rateで設定した秒間レンダリングフレーム値を合わせ,このV-Syncオプションを[YES]とするのが最も安定した表示になる。
 ベンチマークテスト的に動かしたい場合は,[No]設定を行わないと,秒間のレンダリングフレーム数がRefresh Rate設定値で頭打ちとなってしまうので注意したい。

 

●Anti-aliasing(アンチエイリアシング)

 直交配列の格子画素系であるCGでは,映像の輪郭付近で,「ジャギー」と呼ばれる階段状のキザギザ感が露呈しやすい。これを低減する処理系が,
「アンチエイリアシング」ということになる。
 設定値は[None][2X][4X][8X]の4つで,デフォルトはアンチエイリアシングなしの[None]だ。

 アンチエイリアシング処理では,着目しているピクセルの基準点と,その周辺にあるサブピクセル色との加重平均を取る計算が行われるが,2X,4X,8Xと言った設定値は周辺サブピクセル何個に着目するかの設定になる。数値が大きいほど,ジャギーの低減効果は高くなるが,その分,GPU負荷も高くなる。

 

image
image
image
image

アンチエイリアシングの効果を比較したスクリーンショット。[None]と[2X],[2X]と[4X]を比較するとその差は大きいが,[4X]と[8X]の差は少ない。なお,1920×1080ドットクラスの高解像度環境では,実用上,[2X]で必要十分になるケースもある

 

 

 上に示した4枚のスクリーンショットは,ジャギーを強く露呈させるために,あえて低解像度の848×480ドット解像度表示で撮影したものだ。サムネイルは,その一部をさらに240×136ドットで切り出してある。
 金網のシーンを用いたのは,半透明要素を含んだテクスチャとして定番であるため。アンチエイリアシング処理については,本連載のバックナンバーにある,CrossFire(現ATI CrossFireX)の「SuperAA」を解説した記事が詳しいので,ぜひそちらを参照してほしいと思うが,ここでも簡単に紹介しておこう。

 金網テクスチャは,“向こう”が透けて見える透明テクセルと,金網のワイヤー部分を担当する不透明テクセルからなる。ポリゴンレベルの凹凸に着目した(≒深度値をキーにした)マルチサンプルアンチエイリアシング(MSAA)処理では,この,透ける透明部分と金網部分との境界が,輪郭と判定されずに,アンチエイリアシング処理が適用されない。そのため,これを適用させる特殊機能として,透明要素を含んだテクスチャに対するアンチエイリアシング処理「Transparency Anti-Aliasing」(以下,TAA)が用意されている。

 2007年までのゲームだと,TAAはグラフィックスドライバレベルで設定してやらないとうまく効かないことが多かったのだが,2008年のタイトルでは,ゲームのアプリケーションレベルで対応したものが多くなってきた。実際,上に示したスクリーンショットでも,ちゃんと効いているのが分かるだろう。

 

●DirectX Version(DirectXバージョン)

 グラフィックスエンジンをDirectX 9(Direct3D 9)バージョンにするか,DirectX 10(Direct3D 10)バージョンにするかを切り換える項目。
 Far Cry 2は,ATI Radeon HD 3000/4000シリーズでサポートされるDirectX 10.1への対応が謳われているが,結論からいうと,DirectX 10.0で動作させたときと,映像表現面で大きく変わった部分は認められなかった。

 もともとDirectX 10.1は,DirectX 10.0に残されていた制限を解除する方向の拡張がなされたマイナーバージョンアップ版だ。そのため,Far Cry 2においても,DirectX 10.1への対応は,主に「マルチパスシェーダのパス数を少なくする」といった,パフォーマンス向上目的の活用に留まっていると見られる。
 付け加えるなら,Far Cry 2はそもそも,Xbox 360やPLAYSTATION 3といったDirectX 9世代の家庭用ゲーム機に展開するのを大前提としたエンジン設計がなされているため,DirectX 10.0バージョンとDirectX 9バージョンを比較しても,その映像表現に大きな違いはない。こちらも,DirectX 10対応すら,「DirectX 9ベースのシェーダを,パフォーマンス向上目的で最適化を進めた」実装に留まっているようだ。

 

image

DirectX 9モード時の設定オプション

image

DirectX 10モード時の設定オプション。両者の違いは,最下段右に用意された,HDRオプションの状態だけだ

 ちなみに,設定はDirectX[9]か[10]かしか選べず,DirectX 10.1対応のATI Radeon HD 4850を搭載したシステムでも,[10.1]という選択肢は出現しない。Far Cry 2では,DirectX 10.1とDirectX 10.0をひっくるめて「DirectX 10」と認識されているようだ。

 HDRレンダリング・パイプラインの活用有無を設定する「HDR」オプションがDirectX 10モードではオン/オフを切り替えられなくなるが,これは「DirectX 10モードでHDRレンダリングを使えない」という意味ではなく,むしろその逆。「強制的にHDRレンダリングのパイプラインが使われる」ことを意味している。

 なお,製品版のFar Cry 2に付属するベンチマークモードを,最も高いグラフィックスオプションに指定したうえでDirectX 9モードとDirectX 10モードを切り替えながら実行してみたところ,Core 2 Duo E6300+ATI Radeon HD 4850搭載システムの1280×720ドット設定時に,DirectX 9モードで平均28.58fps,DirectX 10モードで同31.82fps。約11%のパフォーマンス向上を確認できた。

 

image
image

Far Cry 2は,普通にインストールすると「Program files\Ubisoft\Far Cry 2\Bin」の下に「FC2Benchmarktool.exe」がセットアップされ,これを単体実行するとベンチマークモードで起動する。テストシーンは何パターンか用意されており,バッチ実行にも対応。結果をHDDに保存する機能も備える。なお,Far Cry 2製品版を持っていない人も実行できる「ベンチマーク専用版」もリリースされているのだが,12月20日現在は,「見つかった問題を修正するため」として,公開停止中だ

 

COLOR(色調)

●Brightness(輝度)
●Contrast(コントラスト)
●Gamma(ガンマ)

 

image

 映像表示に当たっての階調特性を調整する項目群で,スライダを左右に動かすことで強弱を設定できる。
 スライダ×3の直下に表示されているグレースケールバーの右端付近にある縦棒「|」の右側が,真っ黒ではなく,ギリギリ濃い灰色に見えるか見えないかに設定するのが,一つの目安とされている。

 

GENERAL PERFORMANCE(一般パフォーマンス設定)

●Real Tree(木の品質)

 

image

設定の上下で樹木の形状に変化はないが,[Medium]以下にすると,樹木が風にまったく揺れなくなる

 [Low][Medium][High][Very High]の4段階から選べるので,一見,樹木の描画品質設定オプションのように思われてしまうが,実はそうではない。Real Treeは,DUNIA Engineに実装された樹木の挙動をどこまで再現するかの設定になる。

 Far Cry 2の樹木は,DUNIA Engine内で制御される風システムによって揺れるように設計されているが,これが[Medium]以下だと,どんな強風でも木は素立ち(棒立ち)のままとなる。しかし,背の低い草花は,この設定によらず,ちゃんと風に揺れるため,[Medium]以下では「草花が揺れるのに,樹木は揺れない」という,違和感をおぼえる映像になってしまう。
 また,最低の[Low]だと,銃撃によって樹木が分断されるという,DUNIA Engineのウリの表現も省略されるようになる。
 実質的には,「頂点シェーダへの負荷をコントロールするオプション」という認識でいい。

 

image
image

左は[Medium]以上,右は[Low]の状態。[Low]だと,樹木の分断表現が省略されてしまう

 

●Fire(炎)
●Physic(物理シミュレーション)

 Far Cry 2では,草に火を付けると燃え広がり,敵を焼き殺せるというフィーチャーが盛り込まれている。
 また,銃撃や衝突などといった,3Dシーン内オブジェクト同士のインタラクションや運動制御が,物理シミュレーションに基づいたものとなっているのもウリだ。

 

image

Far Cry 2における炎というのは,よくある爆発とは異なる。火を点けると……(下に示した画面に続く)

 「Fire」と「Physic」,これら二つの設定項目は,順に炎の伝搬シミュレーションと物理シミュレーションの表現品質を決定するものだと推察され,ともに[Low][Medium][High][Very High][Ultra High]の設定が可能となっている。
 しかし,最低の[Low]と最高の[Ultra High]とでビジュアル面での違いはほとんど認識できず。ベンチマークを実行した場合もパフォーマンス差は最低設定時と最高設定時で3fps程度と,ほとんど誤差レベルだった。

 

image
image
image
image

こんな感じに燃え広がって,やがて沈静化する。[Low]から[Ultra High]まで,見栄えにはほとんど違いがない

 

image

Physicオプションも,やはり物理シミュレーションの見栄えにはほとんど変化をもたらさない。ベンチマークを行っても,パフォーマンスの違いは誤差程度だ

 ゲームにおけるシミュレーションは,更新頻度を下げてパフォーマンスを稼ぐことが多い。例えば,「“高”設定時は映像フレームレートと完全に同期して物理シミュレーションを毎フレーム更新とするが,“低”設定時は映像更新2回に1回の割合とする」といった具合だ。
 推測の範疇だが,Far Cry 2でも,おそらく設定のレベルに応じてそうした方向のチューニングがされているのだろう。いずれにせよ,この二つのオプションが,チューニングをしてもパフォーマンスや見た目に大きな影響を及ぼさない設定であることは確かである。

 

ADVANCED OPTIONS(詳細設定)

●Overall(一括設定)

 これ以降のオプションを一括設定する項目で,選択肢としては[Custom][Optimal][Low][Medium][High][Very High][Ultra High]が用意されている。すべてのオプションを最上位に設定したい場合は,[Ultra High]を選べばいい。その場合も,詳細を後述する3項目「Vegetation」「Post」「Ambient」は,そもそも[Ultra High]という項目が用意されていないため,[Very High]や[High]設定に留まる。

 また,選択肢はDirectX 9モードとDirectX 10モードとで異なっており,DirectX 10モードでは低設定のLowやMediumが選べない点も憶えておこう。[Optimal]を選ぶと,動作中のシステム構成に合わせた最適なオプション設定を行ってくれるので,迷ったときは[Optimal]を選択すればいい。

●Vegetation(草花)

 草花の描画品質設定。
 DirectX 9モードでは[Low][Medium][High][Very High]の四つから選べるが,DirectX 10モードでは[High]と[Very High]の2段階しか設定は用意されていない。

 見た目は下にまとめたとおりで,[Low]だと,植物の落とす影が著しく低解像度化され,法線マップによる微細凹凸表現も剥がされてしまう。[Medium]だと,植物の葉の「両面ライティング」(Two Sided Lighting)が省略され,光源からの光が葉の裏をライティングしなくなる。
 [High]と[Very High]ではほとんど同じだ。

 

image
image
image
image

見た目は,[Low]と[Medium],[Medium]と[High]で大きく変わる。一方,[High]と[Very High]の違いはほとんど分からない

 

image
image
image
image

葉に両面ライティングが適用されるかどうかで,見栄えはずいぶん異なる

 

●Shading(シェーダ品質)

 シェーダ品質を設定するオプションで,DirectX 9モードでは[Low][Medium][High][Very High][Ultra High]を選択可能。DirectX 10モードでは,[High]以上の3段階から選べる。
 主に水面の表現への影響が大きく,Medium以下では水面そのものが消失してしまう。

 

image
image
image
image
image

 

 一見,[High]以上で大きな違いはない印象だが,細かく見ていくと,水面の鏡像の品質に差異が確認された。
 [Ultra High]設定では,鏡面シーンに対しても,通常シーンとほぼ同等の3Dモデルを活用してレンダリングするが,[Very High]と[High]では,大胆に簡略化される。一方で,意外にも法線マップの品質などはこの設定を変更しても変化が生じなかった。

 水路をボートで進むシーンなどで“重い”と感じたときは,[Very High]以下に設定するといいだろう。

image
image
image

水面に映る樹木。[Ultra High]と[High]以下ではまったく見た目が異なる

 

●Terrain(地形)

 地形表現の品質にまつわる設定で,DirectX 9モードでは[Low][Medium][High][Very High][Ultra High],DirectX 10モードでは[High]以上を選択可能となっている。
 視点から近い位置の地形表現に大きな変化はない。違いは主に遠方で発生しており,[Low]だと,地形の凹凸が大ざっぱなる。おそらく,遠方モデルを使用するLOD(Level of Detail)制御を変更し,低い設定では「視点からの距離が近い位置でもポリゴン数の少ない遠方モデルを使用する」ような調整が行われているのだろう。

 

image
image
image
image
image

 

●Geometry(ジオメトリ)

 前出のTerrain設定のようなLOD制御変更を,地形だけでなく一般的な3Dモデルに対しても適用する設定で,[Low][Medium][High][Very High][Ultra High],DirectX 10モードでは[High]以上をそれぞれ選択できる。
 Far Cry 2に用意されたオプションの中では,設定パラメータに応じた違いを最もリニアに見せるものとなっており,設定とその効果の関係が分かりやすい。

 

image

 [Low]設定では,背景オブジェクトの数を大幅に削減したうえで,そのポリゴン数も削減,さらには遠方の影生成も省略してしまう。これに対し,[Medium]だと,遠方の影生成が行われるようになり,さらに[High]では,[Medium]以下で省略されていた,草木などといった背景オブシェクトの表示が行われるようになる。ただし,表示モデルは低ポリゴンのままだ。

 

image
image

 

 [Very High]では,[High]以下で低ポリゴンモデルだった背景オブシェクトが多ポリゴンモデルに置き換わり,遠方の地形のポリゴン数も増える。そして[Ultra High]設定では,より遠方の背景オブシェクトや草木までが表示されるようになる。

 

image
image

 

 パッと見た感じで気がつきにくいのは,人物キャラクターや,視点に近い位置の大道具,小道具モデルといった,ゲームコンテンツにおいて重要な役割を果たすオブジェクトの品質が据え置かれるためだ。スクリーンショットでも,近場の列車の車両の3Dモデル品質は据え置かれており,変化しているのは手前のドラム缶と,クレーン車両よりも遠方の3Dモデルのみになっている。

 

●Post(ポストプロセス)

 

image

光筋(Light Shaft)の表現は,一般的に,ポストプロセスによって実現されるものだが,Postオプションを最低設定にしてもクオリティは変わらず

image

昔はフォグ値で適当に曇らせていた空気遠近の表現は,最近では深度値をキーにしたポストプロセスによる疑似光散乱シミュレーションによるものが主流になった。この表現もPostオプションの設定とは無関係に効く

 ポストプロセスとは,レンダリングされた3Dゲームグラフィックスのフレームに対して,主にピクセルシェーダを用いて後加工(ポストプロセス)を施すことを指す。イメージ的なことをいうと,レンダリングされたフレームをデジカメ写真とするならば,ポストプロセスとはゲームエンジン側が行うフォトレタッチ処理みたいなものだ。

 最近の3Dゲームで一般的なものを挙げると,キャラクターごとのアクションに立体的な残像を付けるオブジェクトモーションブラー,深度値をキーにした空気遠近効果(疑似光散乱シミュレーション),柔らかく動的なセルフシャドウ効果的陰影を与えるスクリーンスペース アンビエントオクルージョンなどがある。
 Far Cry 2でも,このPostオプションによって,そうしたエフェクトの制御レベルをチューニングできる……と思ったのだが,実際のところ,ここを変更しても,見た目に違いはほどんど出てこない。
 一応述べておくと,DirectX 9モードでは[Low][Medium][High]から選択可能。DirectX 10モードでは,[High]が強制設定される。

 

●Textures(テクスチャ品質)

 

image
image

[Medium](上)と[Ultra High](下)の違い。画面右上に見える看板の文字に注目

 テクスチャの品質を設定するもの。DirectX 9モードでは[Low][Medium][High][Very High][Ultra High],DirectX 10モードでは[Low]を選べず,[Medium]以上から選択することになる。
 設定を下げるとテクスチャの解像度が下がり,グラフィックスメモリ占有量が下がる。すると,単純なデータ転送量が減るだけでなく,テクスチャ参照の局所性が高まってテクスチャキャッシュに載りやすくなるので,結果,パフォーマンスが向上することになる。

 [Medium]以下では,テクスチャ参照に当たってのテクスチャフィルタリング処理をバイリニアに限定しているようで,遠方にあるテクスチャのボケが強くなる。
 なお,映像品質に大きく影響しそうなテクスチャだが,本項目の設定によらず,一定のクオリティが維持される。そのためか,設定を下げても映像全体のクオリティはそれほど下がった印象を受けないのだ。このあたりの設計はうまい。

 

●Shadow(影の品質)

 Far Cry 2のリアルタイム動的影生成は,デプスシャドウ系の技法が採用されている。
 デプスシャドウ技法は,シーンの遮蔽構造をテクスチャにレンダリングしたシャドウマップ解像度が,影の描画品質に直結する特性があり,広大な屋外シーンには適合しにくいと言われてきた。しかし,様々な改良技法が考案されてきており,Far Cry 2でも,その改良型が採用されている。

 具体的には,カプコンの「ロスト プラネット エクストリーム コンディション」などでも採用された,カスケード・シャドウマップ技法だ。シーンの遮蔽構造を,遠近で複数のテクスチャに振り分けてシャドウマップレンダリングする技法である。

 Far Cry 2のShadow設定では,DirectX 9モードだと[Low][Medium][High][Very High][Ultra High]の5段階,DirectX 10モードでは[High]以上の3段階から選択できる。
 [Very High]設定以下では,遠方のシャドウマップ解像度が著しく低下し,シャドウマップレンダリング負荷が低減されるようになっている。実際,[Very High]以下では,遠方の影がかなりおおまかだ。

 

image image image
image image image
上の3枚では左奥,下の3枚では橋から水面に落ちる影を見ると,違いがよく分かる

 

●Ambient(アンビエント)

 「Far Cry 2は,環境光表現に,複数の方向性を持った環境光の仕組みで擬似的な間接光表現を実現している」という話を耳にしていた。そのため,Ambientオプションはその品質を調整するものだと予想していたのだが,どんな設定を行ったところで,屋外,屋内,いずれのシーンにおいても,ライティング効果に差異が認められなかった。
 なお,選択肢はDirectX 9モードで[Low][Medium][High],DirectX 10モードでは[High]が強制設定される。

 

image

室内に発光源があるようなシーンなら,間接光表現に関する設定が分かりやすく映像に反映されると思ったのだが,設定値を変更しても,こういったシーンの見た目はまったく変わらず

image

タンクの下面の茶色い陰影は地面からの照り返し光かと予想し,設定を変えてみたが,やはり変わらず。半球ライティング(Hemisphere Lighting)的な環境光実装なら,切り替わりそうなものだが……

 

●HDR(ハイ・ダイナミック・レンジ)
●Bloom(ブルーム)

 

image
image
image

「HDR」チェックボックスから無効化設定を行っても,HDRレンダリングはなされ,トーンマッピングも行われる

 HDRレンダリングとは,3Dシーンを(ハイダイナミックレンジな輝度情報/色情報に満ちあふれている)現実世界のように捉えてレンダリングすることだ。さらに,ディスプレイに表示する段階で,カメラ装置や人間の視覚で捉えたようなシミュレーションプロセスを経てから最終フレームを得る手法なども併用されることが多い。
 Far Cry 2においては,DirectX 9モードに限り,「HDR」チェックボックスから本機能の無効化を行えるようになっている。前述のとおり,DirectX 10モードでは強制オンだ。
 もっとも,DirectX 9モードで「HDR」を無効化しても,屋外,屋内問わず,ちゃんと適正な陰影が出るようにトーンマッピングが実践される。基本的なレンダリングパイプラインは,このオプションにかかわらずHDRレンダリングとなるようである。

 では,この設定がいったい何に影響するかというと,それは,動的に生成されるシーンテクスチャに対してだ。
 水面に映る情景などは,シーンをテクスチャにレンダリングしたものを利用するのだが,「HDR」が無効化されていると,このテクスチャ生成プロセスにおけるHDRレンダリングがキャンセルされる。具体的には,浮動小数点テクスチャなどの代わりに,通常のRGB整数8bitからなる32bitのテクスチャが,画像の書き出し用バッファとして用いられていると思われ,実際,「HDR」を無効化すると,水面に映った太陽や,そのほか屋外でのハイライト表現が鈍くなる。
 レンダリング自体がHDRベースで行われているとすると,「HDR」のチェックは,「出力先を整数テクスチャにするか浮動小数点テクスチャにするか」の切り替えスイッチに相当する印象だ。

 

image
image
image
image

「HDR」有効時と無効時の違い。有効化すると,水面や窓ガラスに輝く太陽がまぶしい。一方,無効化すると,光が鈍くなっている

 

 続いてBloomは,HDRレンダリングにおいてよく用いられる「高輝度部分から光が滲み出る」ような表現のことで,Far Cry 2では「Bloom」のチェックボックスから有効化/無効化を行える。先ほど述べたとおり,「HDR」チェックボックスの設定内容に関わらず,Far Cry 2では通常シーンのHDRレンダリングが採用されるため,仮に「HDR」を無効化していても,「Bloom」を有効化の設定は行える。

 違いは下にまとめたとおりで,「HDR」無効,「Bloom」有効にすると,「直視した太陽からは光があふれ出すが,水面に映る太陽はドンヨリする」という,アンバランスなビジュアルとなる。逆に「HDR」有効,「Bloom」無効だと,「直視した太陽は光のあふれ出しがなくあっさりとしているが,水面にはギラギラとした太陽が映る」という,これまたアンバランスなビジュアルになってしまうので注意したい。

 

image
image
image
image

 

 

まとめ〜DX10らしさはないが,唯一無二の個性が光る

 

 Far Cry 2のグラフィックスを総括して見どころをまとめるならば,

  • 広大なオープンフィールド表現
  • 燃え広がる炎の表現
  • プロシージャルに駆動される天候表現
  • プロシージャル生成される圧倒的な物量の植物表現

といったあたりになるだろうか。

 

image

Far Cry 2の波は法線マップスクロールのさざ波効果だけ。ちなみにこの川,水深が浅いように見えるが,実はかなり深い

image

Crysisのほうが水面の表現は凝っていた

 3Dゲームグラフィックスだけに着眼して評価すると,もともとマルチプラットフォームでの同時発売が予定されていた関係からか,DirectX 10世代のクオリティからは一世代置いて行かれた印象をときどき受ける。「PC版Far Cry 2はDirectX10対応」を公言してはいるが,そのグラフィックスクオリティは「ユーザーがDirectX 10に対して持っているイメージ」よりも若干低い感じがするのだ。

 具体的なポイントはいくつかあるのだが,最も気になったのは水面の表現。
 水路をプロペラ付きボートで進むなど,比較的水面へのインタラクトが多いゲームなのに,水面表現はかなりシンプルである。行われているのは,法線マップのスクロールによるさざ波表現のみで,ジオメトリレベルの波は立たない。ボートが立てる波はパーティクルだけですぐに消失するし,銃弾を撃ち込んでも,波紋は同心円形法線マップを拡大して消失させるだけといった具合で,DirectX 10タイトルの代名詞的存在であるCrysisと比べると,やや古くさい。

 

image

炎パーティクルが描かれるだけで,実際に炎が動的光源にならない。そのため,周囲は真っ暗なままという不自然さ

 もう一点は,炎について。
 炎の燃え広がり方はリアルなのだが,夜の戦闘で火を放つと違和感を覚えるのだ。

 というのも,燃え広がる炎が光源として作用してくれないので,どんなに燃え広がっても周囲は真っ暗なままなのである。現実なら,炎が周囲を明るく照らすはずで,プレイしていてもここに違和感を覚えてしまう。

 

image

コンピュータゲームの世界で,ここまで美しい夕日が見られるタイトルは,今のところFar Cry 2以外にない

 ……とはいうものの,はるか遠方までが見渡せるオープンフィールド表現はこれまでのFPSタイプのゲームにはなかったものだ。
 また,動的に昼夜が変わっていく表現や天候システムの臨場感も素晴らしく,現存する,どの3Dゲームとも違ったビジュアル体験が楽しめるのも事実。ここで指摘した気になった点も,きっと次回作では改善されることだろう。

 今後もFar Cryシリーズには,オープンフィールド型FPSゲームの究極形態を目指してドンドン進化していってほしいものだ。

 

  • 関連タイトル:

    Far Cry2 日本語マニュアル付英語版

  • この記事のURL:
AD(最終更新日:2020/07/17)
クライシス ウォーヘッド 完全日本語版
amazon価格:¥9,800円
Software
発売日:2008/09/25
Crysis 日本語版
amazon
Software
発売日:2007/11/29

Far Cry (輸入版)
amazon価格:¥4,620円
Video Games
発売日:1970/01/01

4Gamer.net最新情報
プラットフォーム別新着記事
総合新着記事
企画記事
スペシャルコンテンツ
注目記事ランキング
集計:12月21日〜12月22日