オススメ機能
Twitter
お気に入り
記事履歴
ランキング
4Gamer.net
パッケージ
クライシス 2公式サイトへ
読者の評価
73
投稿数:6
レビューを投稿する
海外での評価
86
Powered by metacritic
お気に入りタイトル/ワード

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

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

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

LINEで4Gamerアカウントを登録
DirectX 11パッチを適用した「Crysis 2」のグラフィックスをオプション設定から見てみる
特集記事一覧
注目のレビュー
注目のムービー

メディアパートナー

印刷2011/10/07 00:00

連載


 もう1四半期前の話になってしまったが,2011年6月末,Crytekは,先送りにしていた自社ゲームエンジン「CryENGINE 3」のDirectX 11対応をついに完了し,その対応タイトルとして「Crysis 2」を選択した。
クライシス 2
 ここでCrytekがとった行動は,Crysis 2のDirectX 11版を発売するのではなく,発売済みのCrysis 2に対してアップグレードパッチを適用し,DirectX 11の機能を追加するというもの。アップグレードパッチには,「Crysis 2 DirectX 11 Ultra Upgrade」という,大仰な名前が与えられている。

 諸事情により掲載が遅くなってしまったが,CryENGINE 3のDirectX 11対応で何が変わったのか,Crysis 2のグラフィックスオプションから,チェックしていきたいと思う。


Crysis 2とCryENGINE 3,そしてDirectX 11


 最新技術の活用と実装へと貪欲に挑んでいるという印象が強いCrytek。
 そのCrytekがCryENGINE 3へのDirectX 11実装で遅れたのは,もともとPlayStation 3(以下,PS3)やXbox 360といったDirectX 9世代のゲーム機がCryENGINE 3の主力プラットフォームとして想定されていたためだ。

 Crytekは,その技術力にこそ定評はあったものの,自社開発のゲームエンジン「CryENGINE 1」「CryENGINE 2」は,いずれもPC専用だったため,ライセンシー(≒顧客)を獲得しづらかった。そのため,早期から家庭用ゲーム機向けにも展開していたEpic Gamesの「Unreal Engine 3」に,市場シェア獲得競争で後塵を拝することになったというのは,読者の皆さんも体験的に知っているのではなかろうか。

 そこでCrytekは,「Crysis」のために開発したCryENGINE 2を,PS3やXbox 360へ移植しようと試みた。各ハードウェアの長所を伸ばしつつ,短所を吸収する仕組みを加え,そしてできあがったものを,2009年,CryENGINE 3として発表したわけだ。
 2009年といえば,DirectX 11がリリースされた年でもあるが,Crytekは「PCオンリーのDirectX 11対応」よりも,「CryENGINEのマルチプラットフォーム対応&機能強化」に注力する道を選んだのであった。
 これこそが,CryENGINE 3のDirectX 11対応が遅れた大きな理由である。


Crysis 2をDirectX 11対応へと進化させる3つのファイル


 さて,Crysis 2に話を戻そう。Crytekによれば,今回提供されたアップグレードパッチは,ゲーム内容に一切の変化を及ばさず,ビジュアル面やグラフィックス面だけを進化させるものとのこと。
 というわけで,やや今さら感はあるのだが,一応,Crysis 2をDirectX 11に対応させるのに必要なファイルを下記のとおりまとめてみた。重要なのは,パッチファイルを適用したうえでアップデートする必要があることと,パッチファイル以外には最低動作環境が設定されていることだ。

●Patch 1.9(136MB)
 2011年3月のPC版Crysis 2発売から6月末までに発覚したバグなどを修正するパッチだ。DirectX 11アップデートの前に適用しておかないと「Patch 1.9をインストールせよ」という旨の警告がある。ちなみに,10月7日時点でもこのPatch 1.9が最新バージョンだ。

●DirectX 11 Ultra Upgrade(545MB)
 DirectX 11に対応させるアップデータ本体だ。最低動作環境として,「容量768MB以上のグラフィックスメモリを搭載したDirectX 11世代のグラフィックスカード」が挙げられている。

●High Resolution Texture Pack(1.65GB)
 オブジェクトのテクスチャ解像度を従来比2倍にする追加データだ。DirectX 11アップデータと同時公開されているが,DirectX 11と直接の関係はなく,DirectX 9環境でも適用できる。ただし,最低動作環境としては「容量768MB以上のグラフィックスメモリを搭載したDirectX 9世代のグラフィックスカード」のほかに「64bit版Windows」も挙げられており,32bit環境には導入できない。

32bit版Windows環境では,DirectX 11 Ultra Upgradeは適用できる一方,High Resolution Texture Packは適用できない。掲載した画面は,32bit版Windows環境でのグラフィックスオプション。「高解像度テクスチャ」の項目が「いいえ」で固定されてしまっている
クライシス 2

 ちなみに,パッチを充て,DirectX 11アップデータ&高解像度テクスチャを両方適用した場合の推奨動作環境は下記のとおりだ。

  • 容量1.5GB以上のグラフィックスメモリを搭載したDirectX 11世代のグラフィックスカード
  • クアッドコアCPU
  • 容量8GB以上のメインメモリ
  • 高速なHDD,または高速なSSD
  • 64bit版Windows Vista/7

クライシス 2
NVIDIAのGeForce.comにあるCrysis 2 DirectX 11 Ultra Upgrade特設サイト
クライシス 2
「DX11」という項目が追加される
 これらファイル群はさまざまな場所から入手できるのだが,とくに分かりやすいのはGeForce.comなので,今回はここをお勧めしておきたい。

 DirectX 11対応化にあたっては,前述したとおり,最初にPatch 1.9を適用する必要があるものの,残る2つはどちらを先に導入してもかまわない。また,1つ導入するごとにCrysis 2を起動したりといった手間も不要なので,3つインストールしてから起動すればOKだ。
 正常にパッチが当たっていれば,メニュー画面の「グラフィックオプション」に「DX11」という項目が付加され,ここを「有効」とすることでDirectX 11の機能が有効になる。逆に,ここを無効化すれば,DirectX 9品質でレンダリングされるわけだ。

 そのほかメニュー画面には,「グラフィック詳細オプション」という項目も現れる。

グラフィック詳細オプションの設定画面
クライシス 2

 ちなみにCrytekは「一連のアップグレードによって,どのように映像品質が向上し,エフェクトが進化するか」を示したムービーやドキュメントを発表している。下のムービーはその一例なので,予備知識として見ておくことをお勧めするが,本稿では,実際にゲームアプリケーションを動かして,DirectX 11モードでの設定による違いをチェックしていくことに挑戦した次第だ。



DirectX 11アップデート後のグラフィックオプションを見る


 ここからが本題だ。実際のグラフィック詳細オプションの設定項目と,ゲーム画面の変化を見ていこう。


▼ゲームエフェクト(設定可能な値:高・最高・エクストリーム・ウルトラ)


クライシス 2
 Crytekによると,このオプションは,グラフィックスの表現品質ではなく,「ゲーム寄りの設定」とのこと。たとえば「シーンに死体を何体まで残しておくか」といった,エンジンそのもののパフォーマンスに影響するパラメータだそうだ。
 実際,エフェクト発生率が高く,物理シミュレーションも多用されていそうな「心の闇」ステージ冒頭の地下鉄衝突シーンで「高」と「ウルトラ」を切り替えてみたが,画面にもフレームレートにも目に見えるレベルの違いはなかった。



▼オブジェクト(設定可能な値:高・最高・エクストリーム・ウルトラ)


 主に3Dモデルの精度視差遮蔽マッピング(Parallax Occlusion Mapping,パララックスオクルージョンマッピング),そして3Dモデル出現数の制御に関する設定である。

 まず「3Dモデルの精度」というのは,ズバリ,DirectX 11のテッセレーション機能に関係するものだ。

(※出典:『ゲーム制作者になるため の3Dグラフィックス技術』(西川善司著/インプレスジャパン刊)
クライシス 2
 DirectX 11には,ポリゴンの自動分割機構であるテッセレーションステージ(Tessellation Stage)が搭載されているが,DirectX 11アップグレード適用後のCrysis 2(以下,DirectX 11版Crysis 2)では,この機能がかなり積極的に活用されている。
 Crytekによれば,今回のDirectX 11版Crysis 2開発にあたって,R&Dチームとアートチームが協力。オリジナルの多ポリゴンモデルから,(凹凸量を記載したテクスチャである)ディスプレースメントマップ生成のプリプロセスを実行し,DirectX 11ハードウェアが備えるスペックに応じて多ポリゴンモデルが描画されるように調整を行ったとのことだ。

 言い換えると,「さまざまなシーンに登場する多くの3Dモデルの詳細度がオプション設定具合によって変化する」ということである。なお,DirectX 11版Crysis 2では,搭載されるGPUのテッセレーション性能が低いと判断された場合,リアルタイムテッセレーションではなく,事前に行うような実装になっているという。

 実際のところ,DirectX 11版Crysis 2では,いま紹介した「事前に生成しておいたディスプレースメントマップ」をテッセレーションステージのドメインシェーダで読み出し,分割後に多ポリゴンモデル上の各頂点を変移させる処理を施すようなパイプラインが実装されているというのも特徴だ。結果として3Dモデルにはジオメトリレベルの凹凸表現が適用される――要するに,ディスプレースメントマッピング処理がなされるわけである。

オブジェクトの輪郭に注目。「高」設定では,ディスプレースメントマッピングが適用されず,テッセレーションによる多ポリゴン化だけが適用される。一方の「ウルトラ」だと,非線形で不連続なゆがみやへこみが付加されている
クライシス 2
オブシェクト「高」
クライシス 2
オブジェクト「ウルトラ」

室内シーンでもオブジェクトの精細度に大きな違いが出る。数にも変化が生じているが,それについては後ほど
クライシス 2
オブシェクト「高」
クライシス 2
オブジェクト「ウルトラ」

 さて,「オブジェクト」オプションに含まれている視差遮蔽マッピングだが,これはポリゴン未満の微細な凹凸表現を高精度に行うものになる。法線マップを用いたバンプマッピング(Bump Mapping)である法線マッピング(Normal Mapping)の高品位進化版といったものだ。

 法線マッピングは,ピクセルシェーダを用いて,「視線」と「光源」,そして貼り付ける「微細凹凸側の法線ベクトル」を考慮した陰影処理を行うだけのもので,実際に凹凸があるものとしては処理していない。それに対して視差遮蔽マッピングでは,微細な凹凸の遮蔽関係に配慮した,より3D的な処理系が組み入れられる。「3D的な処理系」では局所的にレイトレーシング的な処理が実装されているため,ピクセルシェーダの負荷が高くなるのだ。
 もともと視差遮蔽マッピングの発想自体はDirectX 9時代に生まれたもので,Crysisでも部分的に活用されていたりする。ただ,DirectX 11版Crysis 2ではかなりの広範囲で当たり前のように利用されており,DirectX 11世代のGPUといえども,最上位のウルトラ設定にするとそれなりに負荷が高くなる。

視差遮蔽マッピングにより,屋根瓦に立体感が現れる。視線を移動しても破綻しないのが視差遮蔽マッピングの利点だ。ちなみに,瓦の凹部に“影”も生じているが,これは視差遮蔽マッピングによるもので,影生成エンジンによって生成されたものではない
クライシス 2
オブシェクト「高」
クライシス 2
オブジェクト「ウルトラ」

 最後に3Dモデルの出現数制御だが,先ほどディスプレースメントマッピングの例として示したスクリーンショットでオブジェクトの数が減っていたように,「オブジェクト」オプションでは,設定を下げていくと,ゲーム内に登場するオブジェクトの数が劇的に減っていく。
 下に掲載した画像は,「高」と「ウルトラ」での比較だが,「高」では,吊り橋のケーブルや船舶の手すりが消えたり,ドラム缶やコンテナの数が少なくなったりしている。
 少し面白いのは,「高」だと周辺反射光も削減されてしまっているところ。画像の柱に注目して見てほしい。「ウルトラ」では,光が植物を透過したり反射したりして緑色の周辺反射光が発生し,柱群が照らされることで緑色の陰影を醸し出しているが,「高」だと緑の周辺反射光の支配率が下がっているのが分かるだろう。
 「オブジェクト」オプションの設定は,低くしていくと間接的にライティング効果にも影響が及ぶということだ。

クライシス 2
オブシェクト「高」
クライシス 2
オブジェクト「ウルトラ」


▼パーティクル(設定可能な値:高・最高・エクストリーム・ウルトラ)


 文字どおり,パーティクルの描画品質にまつわる設定である。
 パーティクルは,粒子(particle)という名だが,実際には「板ペラのポリゴンに表現したい画像を貼り付けて3D空間上で描画する」というものになる。たとえば煙を表現したい場合は,板ペラに煙の模様を描いて動かすわけだ。「昔風に言えばスプライトのようなもの」と言うとイメージしやすいかもしれない。

 しかし,たとえば,煙パーティクルならば,これを立体的に見せようとする工夫が昔からいろいろと考案されてきている。
 最近の3Dゲームグラフィックスでよく採用されているのが,パーティクルに厚み情報を持たせて,これを基に適切なライティングを行ったりする手法である。

DirectX 10 SDKのデモより。パーティクルに厚み情報を持たせたデプススプライト(Depth Sprite)と呼ばれる手法の例
クライシス 2 クライシス 2

 DirectX 11版Crysis 2では,このパーティクルに対して,動きに応じたブレ,すなわちモーションブラー(Motion Blur)を適用できるようになり,さらに,シーンの影がパーティクルにも投射されるようになっている。

クライシス 2
モーションブラーを有効化すると,パーティクルにもモーションブラーが適用されるようになる
クライシス 2
影の効果はパーティクルにも適用される。実際は板ペラの煙パーティクルだが,より立体感のある見栄えが実現されるようになった

 で,「パーティクル」オプションにおける設定の上げ下げをすると,一連のパーティクル描画品質が変わるのだが,その視覚効果は意外にもわずかだ。

設定を上げると,パーティクルのライティングが細かくなり,陰影も薄めになる。とはいえ見ため的な差異はわずか
クライシス 2
パーティクル「高」
クライシス 2
パーティクル「ウルトラ」


▼ポストプロセッシング(設定可能な値:高・最高・エクストリーム・ウルトラ)


 ポストプロセッシング(Post Processing)とは,簡単にいうと,レンダリング結果に対してGPUが行うフォトレタッチのような処理のこと。。3Dグラフィックスの場合,レンダリング結果には,2Dフレームのほか,視点から捉えた奥行き方向の深度値(=Zバッファの内容)があるので,3次元を考慮しつつ“レタッチする”ことができる。

 Crytekは,そんなポストプロセッシングに関して一家言を持つスタジオで,数々のユニークな手法を発明しては,世界のゲーム開発シーンに影響を与えてきている。
 たとえば,レンダリング結果に対して仮想的な環境光からの陰影を付加する処理で,今やゲームグラフィックスに欠かせないものとなったスクリーンスペース・アンビエントオクルージョン(Screen Space Ambient Occlusion,以下 SSAO)は,Crytekの発明だったりする。

 さて,DirectX 11版Crysis 2のポストプロセッシングがどうなっているかというと,まず,先ほど少し触れたモーションブラーの品質が向上している点を挙げられよう。
 Crysis 2のモーションブラーは,シーン内の各ピクセルにおいて,画面座標系の運動量から速度分布テクスチャ(Velocity Map,ベロシティマップ)を生成し,これを基にレンダリング結果をサンプルして,ブレを描画していく方式だ。

 ちなみに,初期出荷状態,つまり,DirectX 9が用いられているCrysis 2(以下,DirectX 9版Crysis 2)では,モーションブラーのポストプロセッシングを低解像度で行っていたために,動きが激しいシーンにおける解像度の低下感が否めなかった。
 これに対してDirectX 11版Crysis 2では,すべてのシーンにおいてモーションブラーをフル解像度で行うように変更され,ブラー自体が鮮明に描かれるようになった。さらに,動きがあるオブジェクトにモーションブラーを付加する場合でも,シーン内の静止したオブジェクトとの前後関係を無視しないよう抑制する「マスク処理」の精度が向上している。

トラックの後輪に注目。ボケの解像感が全然違うのが分かるだろう。さらにプレイヤーの左腕の輪郭に着目すると,「高」設定ではブレのアーティファクトがやや出てしまっているのに対し,マスク精度が向上している「ウルトラ」設定だと,静止しているかのようにクリアな輪郭が維持されている
クライシス 2
静止した状態
クライシス 2
ポストプロセッシング「高」
クライシス 2
ポストプロセッシング「ウルトラ」

 もう1つ,DirectX 11版Crysis 2に用いられているポストプロセッシングで,DirectX 9版Crysis 2から大きな進化が認められるのが被写界深度表現である。

 被写界深度表現というのは,ピントが合っていないところを意図的にボカして描画するポストプロセスのことだが,DirectX 9版Crysis 2では,ボカし処理を行う対象のピクセルから最大128点のサンプリングを行ってボカす実装になっていた。
 このとき,錯乱円の半径(=ボケの大きさ)はレンズの焦点距離特性と絞り具合,そして合焦した像との間にある奥行き方向のズレの大きさによって決定されるが,そういったサンプリング方式では,錯乱円が大きくなればなるほどアンダーサンプリング状態になってしまう弊害がある。アンダーサンプリング状態だと,ボケ味の描画に隙間が空き,なんとも見栄えの悪い,“中抜け”したボケになってしまう。

 一方,DirectX 11版Crysis 2では,低解像度で抽出した高輝度部分に対し,「表現したいボケ味の大きさのポリゴン」をジオメトリシェーダで生成して描画する実装にあらためられている。DirectX 10で新設されたジオメトリシェーダを,DirectX 11版Crysis 2は活用しているわけだ。
 Crytekによれば,このジオメトリシェーダを用いた“ボケポリゴン”の描画は相応に負荷が高い描き込みとなる。そのため,DirectX 11版Crysis 2では,レンダリング解像度の半分で処理が行われているという。

画面左奥のボケ具合に着目。「ウルトラ」では,半径の大きいボケが出ている
クライシス 2
ポストプロセッシング「高」
クライシス 2
ポストプロセッシング「ウルトラ」


▼シェーディング(設定可能な値:高・最高・エクストリーム・ウルトラ)


 各種シェーダエフェクトの品質を制御する設定項目である。
 DirectX 11版Crysis 2では,「Screen Space Directional Occlusion」(スクリーンスペース・ディレクショナルオクルージョン,以下 SSDO),そして「Realtime Local Reflections」(リアルタイムローカルリフレクションズ,以下 RLR)という,画期的なシェーダエフェクトが追加されている。

 SSDOは,上で軽く触れたSSAOの進化形に相当するもの。SSAOは「(実在しない)架空の環境光に配慮した影の付加」だが,SSDOは当該シーンに「実在する」光源からの光に配慮した影の付加となる。一言でまとめてしまえば,「物理的に,より正確さを増したSSAO」といったところか。

 SSDOの効果として大きいのは,デプスシャドウ(Depth Shadow)技法による影生成だと拾えないような,ミクロなセルフシャドウを得ることができる点だ。

実在する光源からの光による影をSSAOに付与したともいえるSSDO。倒れている柵の影や,床に映っているドラム缶の影がSSDOによるものだ
クライシス 2
シェーディング「高」
クライシス 2
シェーディング「ウルトラ」

 自己遮蔽度の高い箇所に対して一様に影を付けていくSSAOに対し,SSDOでは,光源の位置が配慮されて影が付くため,不当に影が付加されて映像を暗くしてしまうことがない。地味ながら,これもSSDOの効能の1つといえる。

壁面に注目すると,SSAOが適用される「高」だと壁全体が暗くなるだけだが,SSDOが適用される「ウルトラ」ではより正確な影が付加され手いるのが分かる。光が当たるべきところに影が付かないため,「ウルトラ」のほうが全体的に壁が明るく見える
クライシス 2
シェーディング「高」
クライシス 2
シェーディング「ウルトラ」

 そしてもう1つのRLRは,SSDOをさらに発展させたもので,「事前準備なし」「追加レンダリングなし」のポストプロセッシングだけで局所的な映り込みを実現してしまうのが最大の特徴だ。原理的には,低解像度かつ大ざっぱな局所的なレイトレーシングを画面座標系で行うポストプロセッシングとなる。

 もう少し噛み砕いて説明しよう。
 SSAOやSSDOで行われるレンダリング結果への調査・探索処理の対象は,深度バッファに限定されていた。しかも,視線には無関係な,全方位・方向に行われるものだったが,RLRでは,調査・探索処理の対象をカラーバッファ(=レンダリング結果が収められているフレームバッファ)にも適用し,しかも,探索にあたっては視線方向への配慮を行う。

 映り込みの表現で広く知られているのが,テクスチャに鏡像をレンダリングし,環境マップとして用いる手法だ。ただ,環境マップを用いた手法は,車のボディに外界情景を映り込ませるような「一定距離離れた情景の映り込み表現」を行うにはいいのだが,屋内シーンにおける家具同士や,家具への人物の映り込みなどを行うのには向いていない。
 RLRは,その逆に,無限遠の情景を映り込ませるのには向かないが,局所的なものを映り込ませるための強力な手法となる。

「ウルトラ」設定時に自販機や家具の光が床に映り込んだり,人間の影が扉に映り込んだりするのは,RLRの効果だ
クライシス 2
シェーディング「高」
クライシス 2
シェーディング「ウルトラ」

ノートPCの画面が机に映り込んでいるのもRLRによる表現。やはり「ウルトラ」設定時に確認できる
クライシス 2
シェーディング「高」
クライシス 2
シェーディング「ウルトラ」


▼シャドウ(設定可能な値:高・最高・エクストリーム・ウルトラ)


 文字どおり影の品質を決定づけるオプションで,とくにデプスシャドウ技法で生成された影の品質に影響を及ぼすものだ。
 SSDOの話をしたときにその名を出したデプスシャドウだが,これは,「影の生成元となる光源位置から見た,シーンの深度情報(=奥行き情報)」をテクスチャにレンダリングしたシャドウマップを生成し,最終的なシーンのレンダリングにあたっては,シャドウマップを参照しながら,ピクセル単位で「他者に遮蔽されている(=影になる)かされていない(=影にならない)か」を判断しながら影を描画する技法である。
 Crysis 2では,「シャドウ」設定を低くしていくとシャドウマップの解像度が下がり,「影か否か」の判定が曖昧になって,とくにシーンの奥における判定の品質に大きな違いが出てくるようになる。

画面右奥の壁と,中央奥の床に見える影に注目。「高」では,ソフトシャドウ処理のぼかしでごまかしきれないほど影が不連続になってしまっているが,「ウルトラ」では改善される
クライシス 2
シャドウ「高」
クライシス 2
シャドウ「ウルトラ」

 また,DirectX 11版Crysis 2は,新表現としての半影(Penumbra,パナンブラ)処理も特徴となる。
 DirectX 9版Crysis 2では一様にソフトシャドウ処理をして影の輪郭をボカしていたのだが,DirectX 11版Crysis 2では,影の投射元となっているオブジェクトに近い位置では輪郭をくっきりと描き,投射距離が長くなればなるほどボケ具合を強くするようにしてある。現実世界でも,線光源や面光源のような大きさのある光源によって生成される影はその投射距離に比例してボケ具合が強くなるし,無限遠からの平行光源や大きさのない点光源であっても,光散乱などにより,投射距離の長い影のほうがボケは大きくなるから,現実に即したボケ方をするようになった,といったところだ。
 一般に,ソフトシャドウ処理は,ピクセルシェーダを用いたフィルタ処理によってボカされることになるが,「シャドウ」設定を上下させると,ソフトシャドウ処理の品質も変化する。フィルタ処理のサンプル数が増加し,サンプル半径も広くなる分,上位設定のほうが,投射距離の長い影における輪郭のボケ幅は広くなるわけだ。

電信柱の影を見ると,影の輪郭は,根元がくっきりしているのに対し,手前に近づくほどボケ味が強くなっていると分かる。シャドウ設定の上下で,ボケ味の強さに違いが出ている点も注目だ
クライシス 2
シャドウ「高」
クライシス 2
シャドウ「ウルトラ」


▼ウォーター(設定可能な値:高・最高・エクストリーム・ウルトラ)


 水面表現の品質設定項目だ。
 DirectX 11版Crysis 2では,水面の波表現にDirectX 11のテッセレーションステージが活用されている。視点に近い位置の水面をテッセレータでなるべく細かく分割し,分割後の水面に対しては波動シミュレーションの結果をドメインシェーダで適用させて波の表現を行っているのだ。これにより,視点に近い位置における凹凸感の精細度を増すことに成功している。

 加えてDirectX 11版Crysis 2では,水面が跳ねるほどの波である波頭(Wave Crest,波頂ともいう)表現をも組み込んでいる。これは「ウルトラ」設定にしないと分かりにくい。

「ウルトラ」では,近場から遠方に至るまで凹凸感のある波表現が実現されている。また,波頭表現が付加されていることも分かる
クライシス 2
ウォーター「高」
クライシス 2
ウォーター「ウルトラ」


▼モーションブラー量(設定可能な値:無効・低・中・高)


 「ポストプロセッシング」における効果の1つであるモーションブラー。その品質を決定するサブパラメータだ。ここでは,それまでのオプション群と違い,選択肢が「無効・低・中・高」の4つとなる。
 上位の設定を選ぶと,ブレの範囲が大きくなり,より多くのサンプル点からサンプルしたボカしフィルタが適用されるようになる。また,これはいうまでもないだろうが,「無効」に設定した場合は,一切のモーションブラー効果がキャンセルされる。

「ポストプロセッシング」設定ではモーションブラーの解像度が変わったが,「モーションブラー量」設定においてはボカし半径とボカし品質が変わることになる
クライシス 2
モーションブラー量「無効」
クライシス 2
モーションブラー量「低」
クライシス 2
モーションブラー量「高」


▼高解像度テクスチャ(設定可能な値:いいえ・はい)


 High Resolution Texture Packを導入した64bit版Windows環境でのみ設定変更できるオプションである。もっとはっきりいうと,ここで「はい」を選択して初めて,High Resolution Texture Packによる高解像度テクスチャは利用可能になる。
 効果の違いとして分かりやすいのは,画像テクスチャ(=デカールテクスチャ)の品質で,とくに視点に近い位置だと,適用した状態としていない状態の違いが分かりやすいだろう。一方,一定距離以上離れた場合,その違いはほとんど分からなくなる。
 ただ,FPSであるCrysis 2の場合,近場の視界のクリア感は,平面視プレイ時における「見た目の遠近感」を知る大きな手がかりとなる。グラフィックスメモリの利用量は増えても描画性能への大きな影響はないので,利用できる環境ならぜひとも有効化しておきたい項目だ。
手前に見えるバスの路線マップだとテクスチャ品質の違いは歴然。その奥,バスの路線番号が書かれた青い立て札くらいまでは,高解像度テクスチャによるメリットがよく分かる。一方,さらに奥にある速度制限標識や駐車禁止標識には違いがほとんど現れない
クライシス 2
高解像度テクスチャ「いいえ」
クライシス 2
高解像度テクスチャ「はい」


DirectX 11版とDirectX 9版の違い


 と,ここまでDirectX 11版Crysis 2のグラフィックス設定を検証してきたが,続いてDirectX 11版Crysis 2とDirectX 9版Crysis 2とで異なる部分を見ていきたい。
 DirectX 11版Crysis 2でも,「DX11」のオプションを「無効」にすると,(初期出荷版相当となる)DirectX 9版Crysis 2として動作するようになる。

 DirectX 9版Crysis 2でも,各種オプションは「高・最高・エクストリーム・ウルトラ」から選べるが,効果はDirectX 11版Crysis 2とはかなり異なる。たとえば「オブジェクト」の場合。「ウルトラ」にしても,テッセレーションは使われないし,視差遮蔽マッピングも適用されない。より遠方でも高精細な3Dモデルが使われるようになったり,表示オブジェクトの絶対量が増えたりするだけである。

DirectX 9版Crysis 2だと「ウルトラ」に設定しても法線マッピングのままだ
クライシス 2
オブジェクト「高」
クライシス 2
オブジェクト「ウルトラ」

出現する3Dモデルの絶対数や詳細度に違いが出ているのも分かるだろう
クライシス 2
オブジェクト「高」
クライシス 2
オブジェクト「ウルトラ」

 「シャドウ」も同様で,「ウルトラ」にしても影全体にソフトシャドウがかかるだけ。「高」との差はシャドウマップ解像度とソフトシャドウ処理のフィルタ径が変わるのみで,DirectX 11版Crysis 2の「投射距離に応じてボケ味が変わるソフトシャドウ」は実現されない。

DirectX 9版Crysis 2では,ソフトシャドウ処理が,影の投射距離に関係なく一様にかかる
クライシス 2
シャドウ「高」
クライシス 2
シャドウ「ウルトラ」

 また,ポストプロセッシングの被写界深度表現は,ジオメトリシェーダを使わない複数点サンプルによるフィルタ処理で行われるため,「ウルトラ」設定時もボケ半径が狭い。
 「ウォーター」も,DirectX 9版Crysis 2では,「ウルトラ」を選択しても,DirectX 11版Crysis 2と比較して波の凹凸感が小さくなる。

DirectX 9版Crysis 2でも「ウルトラ」だと「高」よりもボケ半径が広いが,DirectX 11版Crysis 2と比較すればまだまだ狭い
クライシス 2
ポストプロセッシング「高」
クライシス 2
ポストプロセッシング「ウルトラ」

 一方,例外なのが「シェーディング」で,本項目では,「ウルトラ」設定を行うと,Patch 1.9が適用されていれば,DirectX 11版Crysis 2におけるSDOやRLRの簡易版が実行されるようだ。

解像感は低くなってしまうが,「ウルトラ」選択時は,DirectX 9版Crysis 2でも,SSDOやRLRに相当する表現が得られる
クライシス 2
シェーディング「高」
クライシス 2
シェーディング「ウルトラ」
クライシス 2
シェーディング「高」
クライシス 2
シェーディング「ウルトラ」

 ところで,DirectX 11版Crysis 2とDirectX 9版Crysis 2の“上下関係”だが,これが意外に複雑で,「DirectX 11版Crysis 2が上」と断言するのは難しい。
 というのも,DirectX 11版Crysis 2の場合,「ウルトラ」設定が前提というケースが多いのだ。「オブジェクト」は「ウルトラ」でないと視差遮蔽マッピングは有効化されないし,「シェーティング」もRLRが機能しない。「ウォーター」における波頭表現も「ウルトラ」にしないとテッセレーションが有効化しないので見られない。
 要するに,DirectX 11版Crysis 2で,DirectX 11ならではの画面効果を得るためには,「ウルトラ」設定にしても“重く”ならない,性能の高いGPUが必要だというわけである。


テッセレーションステージへの対応が多く見受けられたCrysis 2


 CryENGINE 3の機能アップデートだけにとどまらず,既発売タイトルである「Crysis 2」への無料パッチの形で,そのビジュアルの進化が楽しめるようにしてくれたのはユーザーとしてはうれしい限りだ。

 テッセレーションステージへの対応もかなり本格的で,ほぼすべてのシーンにおいて,その恩恵を享受できる。
 ただ,Crytekは,今回行ったCrysis 2のテッセレーションステージ対応化プロセスを終えて,「現時点では」という前置きをしつつも,「ある1つの結論に達した」と述べている。
 それは,「リアルタイムにゲーム世界のすべてをテッセレーションステージで多ポリゴン化するのは,現状のハイエンドGPUをもってしても性能的に厳しい」というものだ。

 実際,DirectX 11版Crysis 2では,動的キャラクターに対するテッセレーションの活用が行われておらず,瓦礫や煉瓦,地面,レリーフなどのような背景物&静物におけるディテール増強への利用が中心になっている。
 もっとも,Crytekが指摘しているのは,あくまでも性能的な問題だけなので,より高性能なGPUが登場すれば,さらなる進化が可能という意味にとることもできる。

背景や静物が劇的な変化を見せているのに対して,動的キャラクターである兵士のモデルはまったく変化していない
クライシス 2
オブジェクト「高」
クライシス 2
オブジェクト「ウルトラ」

 最後にもう1つ。今回のDirectX 11版Crysis 2で追加された新表現のRLRは,今後のゲームグラフィックス開発シーンに大きな影響を及ぼしそうだ。
 RLRが強健(Robust)なのは,鏡像適用先の面(=ピクセル)に対し,法線を配慮しながら視線の反射を行わせることで,真っ平らな平面だけでなく,複雑な形状の曲面にも鏡像の映り込みを再現できるためである。
 画面座標系のポストプロセッシングということで,いろいろな制限がつきまとい,飼い慣らすのにも一苦労しそうだが,かつてのSSAO同様に,流行しそうな予感がする。
  • 関連タイトル:

    クライシス 2

  • 関連タイトル:

    DirectX

  • この記事のURL:
AD(最終更新日:2015/04/24)
クライシス 2
Software
発売日:2011-04-14
価格:6980円(Amazon)
amazonで買う
4Gamer.net最新情報
プラットフォーム別新着記事
総合新着記事
企画記事
トピックス
スペシャルコンテンツ
注目記事ランキング
集計:05月21日〜05月22日