Game Developers Conference(GDC) 2010現地レポート
西川善司の3Dゲームファンのための定点観測「CRY ENGINE3」講座
CRYTEKも日本法人設立。CRY ENGINE3も立体視に対応
DirectX 11テッセレーションへの対応は望み薄か
CRYTEKはインディペンデント系ゲーム開発スタジオとしては最大規模のブースを設営。2時間おきにステージデモを開催し、さらに特にアンケートなどに答える必要もなく往来する来場者にTシャツを配布するなど、羽振りの良さが目立っていた。
CRYTEK設立者のYerli三兄弟がテーブル1個だけの狭いブースにいて、ブース前を素通りしていく人々に必死に声を掛けていたのはわずか7年前、2003年のGDCだった。あの頃、あのCRYTEKが、ここまで大きくなるとはYerli三兄弟も思っていなかったのではないだろうか。
それはさておき、今年もCRYTEKは、CRY ENGINEを年次進化させてきている。どこがどう変わったのか、レポートしよう。
CRYTEKブース |
■ CRYTEKも日本法人設立へ ~4月までに秋葉原にジャパンオフィスを構える
左からCARL JONES氏(CRYTEK Global Director of Business Development)、豊田信夫氏(CRYTEK Executive Advisor)、Jens Schafer氏(PR Manager)。CRYTEKも日本に進出 |
偶然か、必然か。Unreal Engine3(UE3)対CRY ENGINE3(CE3)の対決は場所を日本に移しても巻き起こるかもしれない。
UE3に並んで、ゲーム開発フレームワークのハイエンド・スイートとして認知度の高いCE3。このCE3の開発元のCRYTEKも、今年、日本オフィスを構えることが決定したという。日本支社の代表を務めるのは元セガオブアメリカの豊田信夫氏。
UE3は開発元の本社がアメリカ、CE3はドイツだ。両方とも、日本とは時差が大きいし、言語が異なるため、クライアントのリアルタイムのサポートは困難だ。「迅速なイタレーションができるかできないか」。ここに開発効率の重きをここに置く日本のゲーム開発シーンにおいて、言語と時差の壁は障壁としては大きすぎる。日本でのゲームエンジンビジネスは迅速かつ手厚いサポートこそが命。この点について、CRYTEKは、先賢EPIC GAMESの失敗に学んだのだろう。
CRYTEK JAPANは、サポートフロントにするのか、それとも開発支社とするのか、そのあたりの方針はまだ固まっていないとのことだが、今後、EPIC GAMESとCRYTEKのCE3との激突は日本でも見られることになるかも知れない。
【CRY ENGINE3、2010年版のPV】 |
---|
■ 2010年版CRY ENGINE3は屋内表現を強化 ~Deferred Lightingの本格運用へ
2010年版CRYENGEIN3(以下CE3-2010)の新フィーチャーは、ブース内ステージのデモで解説された。
【デモムービー】 |
---|
リアルタイム・イタレーションの解説。ホストPC(上段2画面)上の開発画面で行なったアップデートがネットワーク接続されたPS3(左下)、Xbox 360(右下)の各実機に対してリアルタイム反映される。PS3はネットワークトラブルがあったため、このデモでは動いていない |
リアルタイム・イタレーション |
CRYTEK R&D GRAPHICS ENGINEERのNICOLAS SCHULZ氏によれば、ここ最近のCE3の進化のコンセプトに掲げられたのは「屋内シーン表現力の強化」だったという。
これまでCRYTEKは、初代CRY ENGINEベースの「FARCRY」、そしてCRY ENGINE2ベースの「CRYSIS」と、ずっと屋外シーンの表現力の向上に注力してきていた。これは、それまでの3Dゲームグラフィックスにおいて、屋外シーンの表現力が乏しかったことへのCRYTEKならではのチャレンジングスピリッツの現われであったし、むしろここは褒め称えられるべきなのだが、CEシリーズベースの自社タイトルがいずれも「南国の屋外シーン」という共通テーマを持ってしまったことで、CEシリーズのイメージとして「屋外に強いエンジン」という見方ができあがってしまったことも事実だ。
CE3-2010では、このイメージを払拭するような屋内シーン表現力の向上が図られた。まず、CE3のレンダリングエンジンがDeferred Lighting(Deferred Shading)に対応したことが大きなポイントとなっている。
Deferred Lightingはライティング工程を後回しにして行なう特殊なレンダリング手法で、1パス目のレンダリングにおいては一切のライティングは行なわず、“ライティングに必要なパラメータ”とともにジオメトリ構造をレンダリングしてしまう。2パス目において、そのレンダリング済みのパラメータを元に、ライティングを行なっていく。この際のレンダリングは、画面座標系のポストプロセスで「光源をレンダリングする」というようなイメージになる。
Deferred Lightingについての詳細な解説は、本連載「Killzone2」編を参照して欲しいが、このレンダリングメソッドの利点は、動的光源をシーン内にスケーラブルに無制限に設定できるという点になる。
屋外シーンでは、天球(空)から降り注ぐ全方位からの光と太陽光からの平行光の影響が支配的だが、屋内シーンではグローバルイルミネーションに配慮した無数のローカル環境光(間接光)でライティングすることになるので、シーンを動き回るキャラクターに影響を及ぼす光源が変わりやすい。
さらにリアルさを目指そうとすると、その光源数を増やしたい欲求に駆られる。3Dキャラクター側が、ある決まりきった固定数の光源を選択してライティングしていくような通常のレンダリングモデルでは力不足になりやすく、これにはDeferred Lightingがおあつらえ向きというシナリオだ。
CRY ENGINE3でも、Deferred Lightingではないレンダリングモデルでは3Dキャラクター1体あたりに適用できる動的光源数は4~5個程度だったとのこと。デモでは全方位に光を発射するディスコ照明のようなキューブ状ライトマップでシーンをライティングしていく様が公開された。また、シーン全体に充満する環境光、あるいはシーン内の所定の場所に影響を及ぼすローカルな環境光を、キューブマップで与えるデモも行なわれた。
これはImage Based Lighting(IBL)と呼ばれる手法になる。光源を与えるだけでなく、暗闇を与えるネガティブ・ライティングも可能であり、グローバルイルミネーション(GI)ライクな、複雑なアンビエント感を演出するのに向いているとされる。
方向性のない環境光だけが置かれたシーンでは、法線マッピングされた微細凹凸の陰影が一様になりすぎてしまうが、CRYTEKの説明によれば、このIBLの手法を使えばちゃんと法線マッピングされた微細凹凸に方向性をもったスペキュラが現われるようになるとのこと。勘のいい人はお気づきかと思うが、そう、これはVALVEが「HALF-LIFE2」などで実装したラジオシティ法線マッピング(Radiosity Normal Mapping)の別アプローチ実現手法ということができる。
なお、ラジオシティ法線マッピングの基本的な考え方については本連載「メタルギアソリッド」編などを参照して欲しい。
【デモムービー】 |
---|
Deferred Lightingにより、強力な屋内シーン表現ができるようになったCE3-2010 |
■ プロシージャル降雨シェーダーをデモ
プロシージャル降雨シェーダー |
CRYTEKは、おそらく業界で初めて本格的なプロシージャルシェーダーを商業用の実動ゲームに組み込んだスタジオだ。2007年のCRY ENGINE2ベースの「CRYSIS」では、晴天時状態の3Dシーンに対してプロシージャル積雪シェーダーやプロシージャル氷結シェーダーを動かして、見事に動的に雪天候状態のシーンを構築した(非常に重かったが)。
CE3-2010のDeferred Lightingモード時には、あのような高度なプロシージャルシェーダーを、シーン内の特定範囲に対して適用できる。今回のデモでは、その一例として「プロシージャル降雨(Raining)シェーダー」が公開された。
設定した範囲に対して雨が降り注いでいる法線マップ・アニメーション付きの濡れた表現ができるシェーダーだ。濡れた感じのスペキュラが出るだけでなく、雨粒が落ちた波紋が広がる法線マップアニメーションが適用され、さらに、その適用先の斜面、重力方向側に反応して水流アニメーションが発生するようになっている。また、降雨範囲内外の境界付近はハーフウェット状態になっており、降雨範囲外の完全乾き状態から降雨範囲内の濡れ状態に向かってなだらかな濡れグラデーションが表現できているのが見事だ。
これは、そのライティング対象サーフェースの勾配をみて、適応型のシェーディングを行なっていとる思われる。こうした高度なプロシージャル・シェーダーは、Deferred Lightingのライティングパス(光源レンダリングパス)における、“カスタム光源の一種”として登録しておいて活用する形態になっているようだ。非常にユニークな実装である。
【プロシージャル降雨シェーダーのデモムービー】 |
---|
■ 進化したプロシージャル破壊システム
現在の3Dゲーム表現でトレンドとなりつつあるのが、ダイナミックな破壊表現を実現するノンリニア破壊システムだ。CRYTEKは、このテーマに関してはかなり早くから取り組んできており、CE3-2010においても順当な進化を果たしている。
CE3の破壊システムは、破壊対象3Dモデルに対し事前にバラバラに分解しておき、ランタイム時には、ダメージが閾値を超えた箇所から、その事前分解単位で壊れていくという実装となっている。これは他の多くの3Dゲームエンジンの実装と変わらない。
CE3-2010でユニークなのは、その破壊対象物にレイヤーが設定できるところ。例えば、壁などを表現する際、表皮側の石灰層と中側のコンクリート層を異なる耐久値に設定して組み合わせてシーンに配置しておけば、銃弾が着弾した際にまずは柔らかい石灰層が崩れ落ち、さらに着弾が続けば、コンクリート層も壊れるといった段階破壊表現が実現できる。
CE3-2010では、この破壊表現システムにさらに「変形」という新要素を組み入れることが可能となった。これはダメージを受けた箇所の頂点が、物理シミュレーションの結果(衝突エネルギー)に応じて変移するというもの。デモでは、銃撃を受けたドラム缶が着弾箇所からへこんでいく様を見せていた。なお、へこみ表現の単位は、その3Dモデルを構成する頂点単位となる。
【CE3-2010の破壊表現のデモムービー】 |
---|
■ 2つのマテリアルのミキシング割合を頂点カラーで制御する
前回のUE3のレポートで、頂点カラーにマテリアルの分布情報を書き込んでおき、これに従って異なるマテリアルをミックス描画していく機能を紹介したが、偶然にもCE3-2010においてもほぼ同じ機能が搭載されていることが紹介された。
CE3-2010では、あらかじめ設定しておいた2つのマテリアルの分布割合を頂点カラーのαチャネル部分に仕込んでおくことで、2つのマテリアルをランダムに散らしたり混ぜたりできるようになっている。例えば、αチャネルの値が0に近ければ近いほどマテリアル1の方が、255に近ければ近いほどマテリアル2の方が顕著に描き出されるというような仕込みを頂点カラーを媒介して行なうことができるのだ。
デモでは、塗り立ての新品の煉瓦マテリアルと、荒廃して崩れかけたぼろぼろの煉瓦マテリアルの2つのマテリアルを壁に適用しているシーンが紹介され、αチャネルの値によってどちらのマテリアルの方が強く適用されるというような効果を見せていた。この頂点カラーのαチャネルの値を動的に書き換えたり、あるいは仕込み済みのαチャネルの値に対する2つのマテリアル適用バランスを変化させることで、新品の煉瓦の壁が段階的にぼろくなっていく経年変化も表現できる。
広範囲領域における複雑なマテリアル表現の分布を、その指定箇所ごとに個別シェーダーを動かしていたのでは、万が一、修正の手間が発生したときにプログラマーの手を煩わせることになる。このテクニックならばシェーダーユニット側は高負荷にはなるが、修正や調整はデザイナー側で完結させることができるメリットがある。
■ リアルな昼夜ライティング表現を行なうための支援ツール「デイタイム・ツール」
屋外でのCE3の光筋表現 |
リアルな昼夜ライティング表現を行なうための支援ツール「デイタイム・ツール」というものがCE3-2010では追加されたという。これは、屋内シーン向けの機能拡張というわけではなく、むしろ屋内外に関係なくリアルな自然現象表現セッティングを行なうためのもの。
0時から24時までの時間を設定すると、ゲーム内世界の天球の色、太陽の位置が、現実世界に則したものになる。屋内に差し込む太陽光も、時刻ごとに現実世界に則したものになり、夕方になれば天球が赤くなり太陽光も赤くなる。遮蔽物によって遮られた太陽光はその自己の太陽光の色で光の筋となって差し込む。いうまでもないことだろうが、太陽光によって生成されるリアルタイムシャドウは、太陽の動きに則した方向に投写される。日が傾けば当然影は長くなる。
【デモムービー】 |
---|
時刻を設定すればその時刻の空模様にできるデイタイムツール。空模様は光散乱シミュレーションを行なってのプロシージャル生成となる |
■ CE3も立体視へ対応する
UE3が対応するならばうちも!? というわけではないだろうが、CE3も立体視に対応した。CE3-2010も、左右の目用の2視点からのレンダリングを行なうことで立体視に対応させるが、その視界の作り方に工夫を行なっているというのがCRYTEKの言い分だ。
一般的な立体視対応ゲームの場合は、左右の目の視界を平行にずらしてレンダリングしてしまっているが、CE3-2010の場合は、焦点に対して視界を一致させる調整を行なってレンダリングを行なっているため、立体視を行なったときに自然に焦点が合いやすく見やすく、疲れないナチュラルな立体感が得られるのだという。
ブース内の立体視デモコーナーでは、NVIDIAの3D VISIONではなく、HYUNDAI製の偏光型立体視ディスプレイによる立体視体験をさせていた。これは、偶数走査線と奇数走査線で、交互に反対の目用の映像を異なる偏光方向で出力する方式で、垂直解像度が半分になってしまうが、立体視眼鏡にシャッター機構が不要で安価にシステムを構築できるところが利点となる。CE3-2010はこの方式専用に対応したというのではなく、たまたまデモ機としてこの方式を選択しただけだ。
焦点で左右の目の視界を一致させるOFF CENTER方式レンダリングメソッドを採用 | デモ機のディスプレイはHYUNDAI製S465D |
■ CE3、DirectX 11テッセレーションへの対応の可能性は望み薄
CRYTEK R&D GRAPHICS ENGINEERのNICOLAS SCHULZ氏に、CE3のDirectX 11テッセレーションステージへの対応について聞いてみたところ、「現時点での対応予定はない」とのことであった。これは、CE3がDirectX 9世代GPUのPS3、Xbox 360に対応したエンジンであり、PC版もこれに合わせた設計になっていて、レンダリングエンジンの根幹の再設計が必要になるテッセレーションは、おいそれと取り込めないという判断らしい。
現在、CRYTEKで鋭意開発中の「CRYSIS2」もCE3ベースのPC、PS3、Xbox 360の3プラットフォーム共通仕様で登場予定と見られ、DirectX 11のテッセレーションステージへの対応の可能性はきわめて低そうだ。CRYTEKとしては、「CRYSIS1」で、その時点での究極の3DゲームグラフィックスをPCで実現したことがあり、そのテーマはすでに挑戦して達成しているという感覚で、今度は、PS3、Xbox 360といった今世代コンソール機での究極を目指すべく、CE3-2010の完成に命を削っているのだ。
世界が期待する「CRYSIS2」はPS3版、Xbox 360版、そしてPC版が登場 |
□CRYTEKのホームページ(英語)
http://www.crytek.com/
□Game Developers Conferenceのホームページ(英語)
http://www.gdconf.com/
□Game Developers Conferenceのホームページ(日本語)
http://japan.gdconf.com/
(2010年3月16日)