西川善司の3Dゲームファンのための「CryEngine 3」講座 Ver.2011
CryEngineはついにゲームを飛び出して他分野にも進出開始!







Crytekブース

 独Crytekの「CryEngine 3」(CE3)は、最新ゲームテクノロジーを語る上で欠かすことができない存在だ。CE3は、Epic Gamesの「Unreal Engine3」と並び、オールインワンタイプのハイエンドゲームエンジンとして、今や二大巨頭と呼ばれるほどの認知度があり、その動向には常に熱い視線が注がれている。本稿では、このCE3の2011年の動向を見ていくことにしよう。


【著者近影】
大画面☆マニアを自負する自分としては小さな画面のスマートフォンには興味がなかったのだが、最近では相対的には大画面と言える5インチ超のスマートフォン(電話機能付きタブレット)が登場してきたので興味がわいてきた。しかし、携帯電話依存度が低い自分としては2台持ちは無理。なにかいい機種はないものか。写真は前回と同じく、GDCのシリコンスタジオブースで自ら体験したMOTION PORTRAIT応用iPhoneアプリ「PhotoAvatar」。自分の顔を3Dで取り込んでエイリアン化できる。みんなから私はエイリアン顔だと絶賛されたのでお披露目。ブログはこちら



■ ドイツ製ゲームエンジン「CryEngine 3」とは?

CryEngineの基本コンセプトはWYSIWYP(What you see is what you play:画面内にある全てのものをインタラクトでき、リアルタイムに動かせる)
CE3ツールセットに含まれる「プロシージャル地形生成ツール」

 まず簡単に「CryEngine 3」(CE3)についての成り立ちについて簡単におさらいをしておこう。

 CryEngine(CE)とは独Crytekが開発したゲームエンジンで、元々は最新技術を惜しげもなく投入したハイエンドゲームエンジンとしてPC向けに提供されたものだった。初代CryEngine(CE1)の開発成果は自社開発ゲーム「Far Cry」(2004)として結実し、エンジン、そしてゲームの双方において、世界から高評価を得ることとなる。しかし、Crytekの社名とCEの認知度は向上したものの、エンジンビジネスとしてみるとCE1は、競合のUnreal Engineなどと比較して商業的に成功したとは言いづらい部分もあった。

 課題を残しつつも、Crytekはその勢いを衰えさせず、「最新技術の開発とその応用」に注力したまま、CryEngine2(CE2)を作り上げ、その成果物として「Crysis」(2007)をリリースした。

 そして、CE2とCrysisの完成後、Crytekは大きな方針転換を決断する。それは「CE2後継のCE3を、PCの他に、プレイステーション 3、Xbox 360などの現世代機にも対応させたユニバーサルゲームエンジンとして開発する」というものだった。なお、当初、CE3は、基本設計はほぼCE2そのままとし、事実上、CE2のマルチプラットフォーム対応バージョンとして開発がスタートしている。

 Crytek側の公式見解はないので推測するしかないが、この決断は、おそらく、ハイエンドPC向けゲームエンジンとその応用作品の自社開発だけでは、ビジネス展開が苦しかったことをうけてのことだろう。かくして、CE3は2009年に発表され、2010年の年次改良をうけて現在に至る。

 本稿では、昨年レポートした本連載「CryEngine 3定点観測レポート2010」編からのアップデート情報をCE3 2011年版情報としてお届けするとしよう。



【CryEngine 3】
CE3は草木や樹木などもプロシージャル生成できる(左)、法線マッピングをLODに応用したPOLYBUMPテクノロジーはCryEngineの代表的先進テクノロジーの1つだ(右)

【Nexuiz】
米IllFonicがCE3をベースに少人数チームで開発中のスタイリッシュなアリーナ型1人称シューティング「Nexuiz」は今夏リリース予定。対応プラットフォームはPS3とXbox 360



■ 進化した水面のレンダリング~波動伝搬シミュレーションの実装

CryEngineは水面表現にこだわりを持ってきたゲームエンジンだ。こちらもCE3のリアルタイム映像から
CE3におけるコンソール機(PS3、Xbox 360)とPC版との水面表現の違い
降雨シェーダーが水面への適用に対応

 Crytekといえば、水面のレンダリングに関しては最もこだわりを見せてきたスタジオだ。これまで他社がやってこなかったような水面下の情景に色収差効果を付加したり、水底に照射される火線(CAUSTICS)をレイキャスト法でリアルタイム生成してみたりと、かなり、オーバーキルな表現までを行なってきた。

 CE3では、水面レンダリングに関しては、前述のCE2世代(「Crysis」世代)の基本アプローチをそのまま踏襲している。水面上の波表現に関しては、PC版では頂点テクスチャ(Vertex Tecture Fetching)を応用したディスプレースメントマッピングを用いて頂点レベルの凹凸の波を生成させているが、PS3、Xbox 360版では主に視差マッピングを用いた簡易表現で代行しているという。

 水面の波生成に関しては、プラットフォームの区別なく、適当な波動関数の多段合成を行なってこれを逆変換(iFFT:Inverse Fast Fourier Transform)して波の凹凸量を得るプロシージャル技法を採用しており、これはCPU向けの専用スレッドで実行されている。

 CE3 2011年版では、このプロシージャル生成される波とは別に、動的な相互インタラクションに対応した波動伝搬シミュレーションが実装されたとしている。

 つまり、あるキャラクターが入水してバシャバシャと波を立てると、その波が伝搬して広がっていき、その波が水面上にいる他者の動きに影響するということだ。この機能は、PC、PS3、Xbox 360のいずれのバージョンにおいてもサポートされ、そのシミュレーションコアはGPUで実装されているという。

 なお、この機能はデザイナーやアーティストが自在にパラメータをコントロールすることができ、波動の減退速度や、波動の凹凸ダイナミックレンジなどが調整できるようになっている。昨年の本連載でCE3 2010年版の機能として「プロシージャル降雨シェーダー」を紹介したが、これがCE3 2011年版では水面への適用に対応したとのこと。これは打ち付ける雨粒が同心円状の波を着地地点に生成するものだが、こうした雨粒による波紋が、ちゃんと水面の波に摂動されるようになっている。

 また、余談だが、このプロシージャル降雨シェーダーは、雨が落ちる、落ちないといった領域区別を各オブジェクトが天球をどう遮蔽しているかに配慮できる仕組みとなっている。つまり、「傘の下には雨が降らない(濡れない)」といった表現が可能ということだ。


【CE3 2011年版のテクニカルデモ】
CE3 2011年版のテクニカルデモ。CE3 2011年版は水面上の波動伝搬シミュレーションに対応した



■ ポストプロセスに新機能が追加

縦に伸びる鏡像。UE3 2011年版で採用された「イメージベースド反射エフェクト」と同系のポストプロセスか

 CE3 2011年版では、レンダリング結果に対してプログラマブルピクセルシェーダ等を用いてレタッチする処理系いわゆるポストプロセスエフェクトに関して機能強化が図られている。

 その1つがリアルタイム反射エフェクトで、具体的には、濡れた地面に、周囲の情景を淡く鏡像として映り込ませる効果をもたらす。その効果の見た目と、この機能の解説において「このエフェクトは事前処理や事前設定を全く必要としない」と強調していたことから、これは丁度、UE3 2011年版に新機能として実装された「イメージベースド反射エフェクト」(Image-based reflections)と同系の実装だと思われる。これは、レンダリング結果に対して、画面座標系で視線に配慮した局所的なレイトレーシングを行なうものだ。その実装の仕組みについての詳細は、本連載前回のUnreal Engine 3 2011年版の記事を参照して欲しい。

 こうしたレンダリング結果に対して画面座標系で行なうポストプロセスエフェクトとして最も有名なものとしては「Screen Space Ambient Occlusion」(SSAO)があるが、Crytekによれば、CE3 2011年版では、これが第2世代に進化したとアピールしている。

 従来型のSSAOでは、建物と地面の接地付近などの比較的大ざっぱな箇所の、環境光遮蔽に配慮した陰影を付けるだけであったが、CE3 2011年版では、かなり細かい凹凸の凹部分に対しても陰影が付けられるようになったとしている。これは、CE3 2011年版では、SSAOを2レイヤーで処理できるようになったことが効いているという。

 CE3 2011年版では、SSAOをフル解像度の深度(Z)バッファでフル処理して高周波な陰影付加にも対応したハイレゾ版SSAOと、従来通りの数分の1の解像度の深度バッファで大まかな陰影付加に特化したローレゾ版SSAOの2パスを実行できるようになったのだ。ただ、ハイレゾ版SSAOは相当重い処理であるため、実行にはハイスペックGPUを搭載したハイエンド環境が奨励される。


【SSAO】
処理系をローレゾ版とハイレゾ版の2レイヤー構造とすることで進化したCE3のSSAO



■ 既存ポストプロセスは表現力を強化

モーションブラーは前フレームから現在フレームまでのピクセル単位の動きベクトルを正確に求めて生成するように改善された
ついにCE3の被写界深度表現でもボケ形状が出せるように
CE3のモーションブラーと被写界深度表現は、ともにHDR情報を失わず、高輝度がぶれたり溢れ出たりする

 既存のポストプロセスも進化を遂げている。例えば、モーションブラーはより正確でリアルなものへと進化している。

 CE2(Crysis1)時はカメラブラーに関しては、各ピクセルのブラー量をカメラの動きベクトルとシーンの深度情報を掛け合わせた値で求める簡易的なアプローチだったが、CE3では前フレームから現在フレームまでのピクセル単位の動きベクトルを正確に求めてブラーを生成している。

 CE2時もオブジェクト単位の個別のブラーを生成するオブジェクトモーションブラーについては、ピクセル単位の動きベクトルを記録したベロシティマップを生成していたが、CE3では、全てのブラーをこの手法に統一して実行したということだろう。

 また、被写界深度のシミュレーションについても機能強化が図られたとしている。それは、焦点がずれた箇所の高輝度な部分に対してカメラの絞り形状のボケがでる改良だ。丁度、本連載前回のUE3 2011年版編で同様の改良が行なわれたことを報告しているが、CE3 2011年版でも同様の機能強化が図られたということだ。

 ただし、その実装アプローチはUE3とは少々違う。UE3 2011年版ではジオメトリシェーダーを駆使したScatter型アプローチだったが、CE3 2011年版はDirectX 9世代のGPUでも利用可能なGather型アプローチを採用している。

 つまり、例えば絞り形状が多角形ならば、レンダリング結果に対してちゃんと多角形状のサンプル位置でサンプリングしてぼかす処理系となっている。この手法についての詳細の解説は本連載「エンド・オブ・エタニティ」編にて解説しているので、そちらを参照して欲しい。

 この手法では、サンプル数が美しいボケ形状を得るための鍵となるが、CE3 2011年版では、32点、64点、128点のいずれかが選択できるという。また、ボケ形状も6角形、星形、丸状などなど任意の形状にカスタマイズができるようになっているとのことだ。

 なお、PCはもちろんのこと、PS3、Xbox 360においても、モーションブラー、被写界深度のシミュレーションはHDR(High Dynamic Range)次元で行なわれるため、ちゃんと高輝度なブレ表現やボケ表現がなされる。これは地味ながらもCE3 2011版の大きな特徴だと言える。


【被写界深度表現】
フォトリアルにさらに近づいたCE3 2011年版の被写界深度表現。Gather型アプローチのため、大きなボケが出るときに中が若干抜けるアーティファクトが確認される。これはDirectX 11への対応で改善されることだろう



■ 本格的なイメージベースドライティングの実装

CE3 2011年版は先進のイメージベースドライティングを実装した。
キューブマップを用いたイメージベースドライティングを採用していたNVIDIA GeForce 7800シリーズ向けデモ「Mad Mod Mike」
キャラクタの中心基準でのキューブマップ・イメージベースド・ライティングした例。下からの茶色が強すぎる

 CE3 2011年版では、本格的なイメージベースドライティング(Image Based Lighting)が可能となった。

 もっとも基本的な疑似的な大局照明技術に、3Dグラフィックス黎明期からある「環境光」という概念がある。動的な光源からのライティングだけではシーンが暗くなりすぎてしまうため、そのシーンのオブジェクトに対して一様に陰影を押し上げる効果をもたらすグローバルな光として「環境光」という概念が導入された。環境光は、ただシーンに充満する定数的な光量であるため、いわばかなり非現実的な近似だといえる。

 続いて登場したのが「半球ライティング」(Hemisphere Lighting)というもので、これは環境光を地面からと天球からの2方向に近似するものだ。これはクラシックな手法ながら、現在でもしばしば用いられる手法で、実際、PS3用の「メタルギアソリッド4」などでも採用されていたほどだ。

 この後に登場するのが、全方位の光源や、その光源によってライティングされたオブジェクト達を二次光源としてライティングできるイメージベースドライティングだ。これは簡単に言うと、シーンを適当な位置からキューブマップなどに全方位レンダリングしたものを環境光として取り扱うものだ。

 6面体構造のキューブマップに全周レンダリングしたものを特にキューブ環境マップと呼んだりする。これは本来は全方位の映り込み表現に用いることが一般的だが、イメージベースドライティングでは各オブジェクトの環境光をこのキューブ環境マップで与える(ただし解像度はかなり粗め)。各オブジェクトに向かって、全方位からやってくる環境光を環境マップで代行するというと想像しやすいだろうか。あるいは半球ライティングで2方向からの環境光だったものをキューブマップを用いて全方位に拡張したものと言い換えてもいいかも知れない。

 ただ、イメージベースドライティングで用いるこうしたキューブ環境光は無限遠(あるいは十分に遠いところ)に存在するものとして取り扱わないと破綻する。例えば狭い屋内シーンで天井の中央に電球(光源)があったとして、このシーンを部屋の中心から全方位にレンダリングしてキューブ環境光として得て、この部屋にいる全てのオブジェクトに対してこのキューブ環境光でイメージベースドライティングを行なうとおかしな事が起こる。部屋の中央にいるオブジェクトの直上が明るく照らされてつじつまが合うのだが、部屋の隅にいるオブジェクトの直上も明るくなり、これは不自然なことになる。天井中央の光は、部屋の隅にいるオブジェクトにとっては直上からずれていなければおかしいのだ。

【ライティング】
左が直接光だけのライティング結果。右が間接光だけのライティング結果

【キューブマップ・イメージベースド・ライティング】
左は各頂点の法線基準でキューブマップ・イメージベースド・ライティングした例。向かって左側の緑が強く出すぎており、下からの茶色の影響が少なすぎる。これはキューブマップが無限遠にあるという前提から引き起こる弊害。右のMad Mod Mikeでは各3Dモデル上の頂点上の法線と、そのモデルの重心点からその頂点までの向きを合成したベクトルでキューブマップ環境光を参照する実装として、この不自然さを低減していた

 こうした制約があることから、イメージベースドライティングを行なう際には各位置のオブジェクト毎にキューブ環境光を持つか、あるいはシーン内に一定間隔で持つなどの工夫をしなければならない。これは非常にメモリを食うので、最近では、シーン内の各地点の全方位環境光を球面調和関数(の係数)で持たせるような実装が流行している。

 筆者が受けたプレゼンテーションによれば、CE3 2011版において、「単一のキューブ環境光から、任意の各地点においてつじつまの合った全方位環境光を得られる仕組みを実装しているため、シーン内に複数のキューブ環境光を持つ必要がない」とのことであった。

 これはキューブ環境光を求めた位置と、任意の各地点とのズレに配慮する仕組みが実装されていると推察される。この機能のおかけで、屋外シーンなど、比較的、環境光の変移がゆるいシーンなどでは、この全方位環境光をかなりあらく配置するだけで説得力の高い環境光ライティングが行なえそうだ。


【環境光ライティング】
屋外シーンなど、比較的、環境光の変移がゆるいシーンなどでは、このキューブ環境光によるイメージベースドライティングはかなり説得力の高い環境光ライティングが行なえそうだ



■ CE3は映画産業、建築産業、業務用シミュレーションなどのノンゲーム分野へ進出する~CE3 for Cinemaの開発が進行中

CrytekはCE3 for Cinemaをプリビズ用途として映画産業に訴求していく

 さて、気になるCE3の今後の展開。次世代携帯ゲーム機への対応はどうなのだろうか。

「3DSやNGP、高機能なスマートフォンなど、新しい魅力的なプラットフォームが登場することはとても興味深いと思うが、現状、CE3はPC、PS3、Xbox 360の3プラットフォームでの展開に注力していく」(JONES氏)

 CE3のNGPや3DSへの対応は当面ではないようだ。NGPに対応したUE3とはやや対称的な姿勢だといえる。

「その代わりと言ってはなんだが、CryEngine 3は新しい業界へ進出する。それは映画産業だ。ハリウッドの映画スタジオなどが映画製作時にプロトタイプ映像『プリビズ』(Pre-Visualization)を最初に作成するが、我々はこの製作ツールとしてCE3を訴求していく」(JONES氏)

 これはCrytekの一方的なマーケティング戦略というわけでもなく、実際に引き合いも多いのだそうだ。これまでも映画製作の現場でプリビズ製作をコンピュータベースで行なう事はあったが、その表現力は非常に低級で機能も低くかったという。映画関係者などが、自分の子供がプレイしているゲームの映像を見て「このクオリティでプリビズ製作ができればいいのに」とぼやくことが少なくなかったそうで、いわばCrytekは、そうしたハリウッドからの要望に応える動きに出たということになる。

 プリビズは本編撮影のための「動く絵コンテ」的な役割がメインであったが、CE3のような極めて容易にリアルタイム・イタレーションが行なえるシステムを導入するとことで、シーンにおけるセット配置やカメラワークの事前シミュレーションを入念に行なえるメリットが生まれる。各役者を3Dキャラクターとして動かしたりすることができるし、各役者(キャラクター)目線の視界なども得ることができるので、かなり具体的な演技方針や演出方針のシミュレーションまでもが行なえることになる。

 Crytekでは、この映画製作向けのCE3の提供計画を進行させており、これは「CryEngine 3 for CINEMA」として提供を予定しているという。

【CE3 for Cinemaの予告映像】

【映画産業へ】
CE3 for CinemaによるCE3は映画産業へと進出していく

CE3による人物表現。ここまでできれば確かにテレビ向けのCGアニメ作品などをCE3ベースで製作しようというスタジオが出てきもおかしくない
CE3ならば音響設定もビジュアルに行なえる

「CE3 for Cinemaは、なにもプリビズにしか利用できないということではない。非常にクオリティの高い映像を作り出すことができるので、用途によっては、CE3上で高品位な映像を出力してこれを最終作品とすることもできるだろう」(JONES氏)

 映像製作の場合はユーザーのリアルタイム操作を考えなくて良いため、それこそ1フレームに数分かかってレンダリングしてもよい。なので、制作はゲームクオリティで行ない、最終的な作品出力は、たっぷりと時間を掛けてハイクオリティで行なう…というCE3を主体とした映像作品製作スタイルも現実味を帯びてくるのだ。

 現在、Crytekが開発中のCE3 for Cinemaでは、バーチャルステージ内でのモーションキャプチャへの対応を進めており、40人以上の演技者のモーション演技をフレームレート60fpsで取り込むスペックを目標としている。

 対応予定モーションキャプチャーシステムとしては、VICON、OrganicMotion、Phasespace、Motion Analysisなどの主要メーカー製システムを想定。もちろんCryEngineのWYSIWYPシステムはCE3 for Cinemaにも生きており、キャプチャーしたモーションデータはリアルタイムにキャラクターの動きとして反映できるようになる。

 また、カプコンが「バイオハザード5」で導入し、ジェイムズ・キャメロン監督の「アバター」でも、その有効性が認められた「バーチャルカメラ」にも対応する予定だという。バーチャルカメラとは、カメラの軌道をソフトウェアツール上で設定するのではなく、実際のカメラマンが、カメラに相当するマーカーを持ちながら、実際にバーチャルステージ内で動かしてカメラの軌道を生成する技術だ。CG空間の任意の場所を手持ちカメラで撮影したかのようにシーンを捉えていくことができ、場合によってはカメラマンの手ぶれなどをあえて“活かす”ことができるため、CG映像ながらも非常にリアルなバーチャル撮影が可能になる。

「立体視にももちろん対応しているので、3D映像作品を製作することも可能だ。CE3 for Cinemaは日本企業からの引き合いも強い」(JONES氏)

 CE3は、これ以外にも思わぬ分野への進出も開始している。それは建築分野や都市設計分野だ。実際、プロフェッショナル用の都市設計シミュレータを開発している仏ENODOがCE3の採用を発表している。

【CE3による都市設計ソリューション】

【クリュニー修道院の復元例】

 今でも建築分野や都市設計においてCG技術は応用されているが、品質は高いが静止画だったり、リアルタイムだが映像品質が低かったりするのだが、CE3は「映像品質とリアルタイムパフォーマンス」の“いいとこ取り”としてこの分野から着目されているのだそうだ。

 建築分野での応用の場合、CE3ならば家の中を1人称でリアルタイムに動き回れる上、照明や壁紙などの配置もかなり具体的にシミュレーションが可能だ。大型の業務用施設の場合は非常口への脱出経路設計が適切かどうかなどのバーチャル避難訓練なども行なえるだろう。都市設計においても、CE3のポテンシャルがあれば、住人視点の景観や日照条件などの確認を正確かつ大局的に行なえる。

【ENODO】
仏ENODOは建築分野や都市設計用途に応用するためにCE3を採用した。これらの映像はCE3によるもの

 また、補足になるが、Crytekは、CryEngineをノンゲーム分野へ推進していくことを2年ほど前から開始しており、訓練用シミュレータ、業務用シミュレータなどのノンゲームユース分野の採用を推進するための関連会社としてRealtime Immersive(RTI)をアメリカに設立している。実際に、RTIは政府機関向けの軍事演習シミュレータなどの開発支援などを行なった実績がある。

 本連載、前回取り上げたEpic GamesのUE3もノンゲーム市場への進出をほのめかしていたが、この分野に関してCrytekは一歩リードしている感触を受ける。

【業務用シミュレーション】

【アメリカ特殊作戦軍(SOCOM)の軍事リハーサル映像】

【RTI】
RTIは政府機関向けの軍事演習シミュレータなどの開発支援などを開始している



■ CE3の今後~DirectX11への対応に乗り出す

左から豊田信夫氏(Crytek Executive Advisor)、CARL JONES氏(Crytek Global Director of Business Development)、Sean Patrick Tracy氏(Field Application Engineer)

 CE3の、今後の“ゲームエンジン”としての進化の方向性はどうなっているのだろうか。しばしば「CE3は、マルチプラットフォーム対応バージョンになったことで、新技術開発やその応用は辞めてしまったのか?」と心配されるが、実際のところ、Crytekでは日々最先端グラフィックス技術の研究開発はCE3の開発と平行して行なわれているのだという。

 近年では、実践的なリアルタイム疑似大局照明技術として「Light Propagation Volumes(LPV)」(2010)を発表し、業界からの注目を集めたことが記憶に新しい。このLPV技術は、最新版のCE3にも盛り込まれており、CrytekがCE3を用いて自社開発・最新タイトル「Crysis 2」では、その効果を確認することが可能だ。

 ただ、CE3は、DirectX 11の新フィーチャー、たとえばテッセレーションステージやDirectComputeといった要素への対応方針を明確にしてこなかったのも事実で、今後はそういった部分への新しい動きも気になるところではある。Crytek Global Director of Business DevelopmentのCARL JONES氏は去年から今年、そして近未来のCE3の近況についてこう語った。

「2010年は、PS3やXbox 360に展開したマルチプラットフォーム対応機能などの充実化や安定化に注力した1年だった。そして2011年はCE3にとって“実り”の年になることだろう。自社開発タイトルの『Crysis 2』もついに発売されたし、今夏以降、我々以外の、サードパーティのCE3採用タイトルも続々出てくる予定となっている。そして、これまで後回しにしてきたDirectX 11などの新フィーチャーへの対応は、今年以降、現在進めているところだ。来年までにはきっと新しいアナウンスができることだろう。」(JONES氏)
【Crysis(クライシス) 2】
圧倒的な映像でプレーヤーの度肝を抜く「Crysis(クライシス) 2」は、本誌にて筆者も渾身のレビューを行なっているので是非ごらんいただきたい

(2011年 4月 7日)

[Reported by トライゼット西川善司]