西川善司の3Dゲームファンのための「Unreal Engine 3」講座 Ver.2011
君は“次世代機”に捧げるラブレター「SAMARITAN」デモを見たか!?







 GDC2011の会期中、Epic Gamesのゲームエンジン「Unreal Engine 3(UE3)」の2011年版が公開された。Epic Gamesは、プライベートブース内で関係者、ライセンシー、報道関係者を招いて、そのテクノロジーデモを公開していたが、会期中は、一切の撮影が禁止されていたため、会期中の掲載は見送っていた。Epic Gamesから届いた最新素材を交えてたっぷりお届けしたい。

【著者近影】
GDC2011より帰国してからニンテンドー3DSを買った。裸眼立体視は、昨年のE3時の試作機よりも画質が向上しているようで好感触。ただ、DSi LLの画面の大きさになれてしまっているととても小さく見える。個人的には3DS LLの登場に期待。写真はGDC2011のシリコンスタジオブースで体験したiPhoneアプリ、MOTION PORTRAIT応用アプリ「ゾンビブース」。自分の顔を3Dに取り込んでゾンビ化できる。みんなからハマリ過ぎと絶賛されたのでお披露目。ブログは こちら



■ UE3がDirectX 11に完全対応〜次世代機に捧げるラブレター「SAMARITANデモ」に要注目

Epic Gamesブース
Epic Gamesブースでデモを行なったSenior designerのAlan Willard氏
2004年当時、PS3もXbox 360も登場する前にEpic Gamesが「次世代ゲームグラフィックス」として公開したUE3のリアルタイムテクニカルデモ映像。この映像クオリティは「Gears of War」で実現された
Epic Games、Vice President、Jay Wilbur氏

 UE3 2011年版の機能強化においてメインフィーチャーとなっているのが「DirectX 11への対応」だ。Epic Gamesでは、2009年10月のWindows 7発売に合わせてリリースされたDirectX 11に対して、2010年初頭の時点では「直近で対応の予定はなく、UE3プラットフォームの環境整備の強化に乗り出す」としていた。

 昨年の本連載でも取り扱った昨年のUE3 2010年版では頂点属性のビジュアルオーサリングツール、「メッシュ・ペインティングツール」やスプライン高次曲線ベースで3Dモデルを変形できる「スプライン・デフォメーション・ツール」、プロシージャル建造物作成・セッティングツール「ファサード・ツール」など、ツール面に対しての機能充実が図られたが、それらはまさにそうした方針が具現化したものだと言える。

 UE3 2010年版で、そうした「環境整備」部分に関して一段落したためか、UE3 2011年版は、エフェクト面やビジュアル面への機能強化に目が向けられたのだろう。PS3、Xbox 360などの現行家庭用機のグラフィックスアーキテクチャはDirectX 9世代プログラマブルシェーダー仕様3.0(SM3.0:Shader Model3.0)ベースだが、エフェクトやビジュアルに関して、ほぼこの世代でできること、競合エンジンが実装した技術トレンドなどは網羅してしまったため、“次世代”も睨んだ形でDirectX 11世代プログラマブルシェーダー仕様5.0(SM5.0:Shader Model5.0)への対応に乗り出したと言うところなのだろう。

 実質的にはDirectX 10世代プログラマブルシェーダー仕様4.0(SM4.0:Shader Model4.0)はスキップしたことになるが、「業界的にはDirectX 10は、ほぼなかったことになった」に近い扱いを受けているため実害は少ない。

 今回のEpic Gamesが発表したUE3に対する各機能強化は、今春から提供が行なわれる最新版UE3から適用されるという。昨年もそうだったように、近年のEpic Gamesは、毎年、定例の機能強化ともいえるアップデートを行なっているが、Unreal Engineのバージョンは“3”のまま据え置く方針をとっている。今年も、その方針に変わりは無いようだ。  さて、冒頭でも述べたように、Epic Gamesは、今回のUE3のDirectX 11/SM5.0対応に際して、テクノロジーデモを開発して公開した。

 機能の解説に移る前に、まずは下のテクノロジーデモの映像を見て頂くとしよう。なお、このデモは、UE3 2011年版の機能をややオーバーキル気味にフル活用したデモになっており、このクオリティの映像が、直近でPCゲームとして実現される……というわけではない。ただし、プリレンダー(オフラインレンダリング)された映像ではなく、GDC会期中のデモ実演の際には、リアルタイム映像である証拠を見せるために、このデモを走らせた状態で視点をあちこちへと移動させる操作を行なって見せていた。

 GDC会期中の実演デモで用いられたマシンはGeForce GTX 580を“3枚差し”にした3WAY SLIベースのウルトラハイエンドのシステムだそうで、一見すると現実味がないように思える。

 しかし、2004年にPS3やXbox 360が登場する前、「次世代ゲームグラフィックスはこうなる」というメッセージをひっさげて、Epic Gamesが初めてUE3を公開したときも、同じような印象が持たれたものだが、蓋を開けてみれば、現在、彼らが当時に示したビジュアルは確かに実現されている。

 DirectX 11を使って、現在考え得る技術の全てを実装して映像の形で見せたのが今回のデモだ。Epic GamesのVice PresidentのJay Wilbur氏は、このSAMARITANデモに対して、以下のようなコメントを述べていた。

「一見するとやり過ぎのように思えるかも知れないが、これは次世代のゲームグラフィックスの未来予想図だ。2004年の時もそうだったが、『こうなるはずだ』というよりは『ここまでが当たり前のようにできればいいな』というようなメッセージと受け取ってもらえればと思う。いうなれば『いずれ登場するかも知れない“次世代機”に送ったラブレター』と言うべきか(笑)」。


【UE3 2011年版テクニカルデモ「SAMARITAN」】

【UE3 2010年版のテクニカルデモ(参考)】



■ テッセレーションステージの活用

DirectX 11のレンダリングパイプラインとテッセレーションステージ
テッセレーションとディスプレースメントマッピングの併用
流体物理シミュレーションではなく、テッセレーションとディスプレースメントマッピングの併用でそれらしい煙を表現

 それではSAMARITANデモをベースにUE3 2011年版の機能のポイントを見ていくことにしよう。DirectX 11フィーチャーの対応ということで、当然の如くUE3 2011年版もテッセレーション(ステージ)に対応している。テッセレーションとはDirectX 11で新設されたシェーダーステージで、簡単に言えばポリゴンを動的に分割したり、あるいはポリゴンを粘土細工のように持ったり削ったりできるような仕組みのこと。

 SAMARITANデモでは、このテッセレーションを主人公男性の首、顔に対して適用している。視点が近くなるとポッピングが出ないように動的にポリゴンを増加させて滑らかな曲面表現を実現している。

 UE3 2011年版のMATINEEやMATERIAL EDITORなどの各ツールでは、このテッセレーションステージに完全対応となっており、アーティストやデザイナーが、キャラクタやオブジェクトのどの部位にどの程度の頻度のテッセレーションを行なうかを設定できるようになっているという。

 主人公男性が表皮を人間状態からデコボコの岩肌のように硬質化させる演出が入るが、これはテッセレーションステージのドメインシェーダによるディスプレースメントマッピングによるものだ。

 ベースとなる人面モデルに対して、あらかじめ用意した凹凸情報を記載したテクスチャに従って、人面の表皮ポリゴンをジオメトリレベルで摂動させる事で実現している。凹凸が成長するような演出はこのディスプレースメントマッピングのスケール値をアニメーションさせることで表現している。もちろん、同時に表皮テクスチャも肌色から岩色へアニメーションさせている。

 さらに、地味ながらユニークなテッセレーションの活用だといえるのは、主人公男性がくゆらせるタバコの煙だ。これは、用意したモデルはシンプルな円柱だとのことで、これをテッセレーションで高次曲面化し、さらに細かい凹凸をディスプレースメントマッピングして半透明で描いているだけなのだという。もちろん説得力を増させるために、テッセレーションは係数を動かし、ディスプレースメントマッピングはスケール値やテクスチャ座標をアニメーションさせて複雑に動かしてはいる。流体物理シミュレーションなどを用いずに、疑似的にそれっぽく見せる方法としてかなりうまいやり方だと言える。


【テッセレーションの活用例】



■ 高品位な顔面レンダリング〜表面下散乱シミュレーションの実装

顔面の皮膚表現に疑似表面下散乱の効果を適用可能に。この映像はリアルタイム映像だ
左端が表皮ライティングのみの結果、中央の皮膚内部のライティング結果、右端がこれらを合成した最終結果。中央の蝋のような質感の散乱層は、光が皮膚内部に浸透して、変調してぼやけている

 UE3 2011年版では疑似的な表面下散乱シミュレーションの機能が実装されたとのことで、その効能が1番わかりやすいのがSAMARITANデモの主人公男性の顔がアップになったときのシーンだ。

 これは、通常の鏡面反射モデルと拡散反射モデルを組み合わせた通常のライティングを行なった結果と、それをある色変調規則に則って画面座標系でブラーさせたものとを合成する事で実現している。色変調規則とは、ある1点に光が入射したときに、その光が皮膚に浸透して広がって色が変わって(主に赤みを帯びて)再び出射する測定結果に基づくものだ。この手法は、AMDのRUBYデモや、NVIDIAのAdrianneデモで用いた手法と同系のアプローチである。

 Epic Gamesによれば、SAMARITANデモでは、この新方式の顔面シェーディングに加えて、髪の毛のライティングに対しても新開発の異方性反射モデルを適用してリアリティを高めているとのことだ。




■ カメラの絞り形状が出るボケ表現

カメラの絞り形状のボケが出る被写界深度表現
Gather型ではなく、Scatter型のアプローチのため、大きなボケになってもスカスカにならない
左にうっすらと青く見えるレンズフレアも同系のテクニックで生成していると思われる

 焦点が合ってない領域をぼかして描く被写界深度のシミュレーションは、近年の3Dグラフィックス表現では定番とも言えるモノだが、UE3 2011年版では、このボケ表現において高輝度で強くぼけている箇所にカメラの絞り形状のボケが出るようなエフェクトが追加された。SAMARITANデモでは、この絞り形状として八角形が用いられているが、これはもちろん任意の形状を選択することができる。

 シーンの高輝度部分を抽出してここに絞り形状のボケを発生させていると説明され、さらにDirectX 11(10)フィーチャーとして紹介されていることから、Scatter型のアプローチが用いられていると思われる。

 これは、シーンの高輝度部分に対し、その場所にジオメトリシェーダーでポリゴン(ビルボード、スプライト)を生成し、ここに高輝度ピクセルと同色の絞り形状のボケを描いていくというもので、最新ベンチマークソフト「3DMark11」でも用いられている手法だ。

 この他、UE3 2011では、カメラエフェクトとしてフィルム撮影ライクなフィルムグレインノイズなどを付加してアナログ感を演出できるようになった、としている。




■ イメージベース反射エフェクト

イメージベースド反射エフェクト
濡れた路面には、動的な環境マップで生成された鏡像もしっかり映っていて、その鏡像の高輝度部分からも滲み出しが再現されているので、かなり自然でリアルに見える
イメージベースド反射エフェクトは影の部分の遮蔽に配慮して実行される

 UE3 2011年版では、イメージベースド反射エフェクト(Image-based reflections)と呼ばれる機能が備わった。具体的にはシーンの高輝度部分が、濡れた箇所に垂直方向に漏れ伝わって見える効果で、SAMARITANデモでは濡れた路面に車のヘッドライトや街灯が下方向に伸びて見えるのがその効能だ。

 これは、レンダリング結果に対し、画面座標系で処理するポストプロセスエフェクトの一種として説明されている。1番近いエフェクトで有名なものを挙げるとすると「Screen Space Ambient Occlusion」(SSAO)になる。SSAOはあるピクセルに着目したときに周囲ピクセルに対応する深度(Z)情報を見てどれくらい自分が遮蔽されているかを見て陰影を付けるものだった。

 これの発展形は本連載 「MTフレームワーク2.0」編でも紹介した「Screen Space Global Illumination」(SSGI)だ。こちらは遮蔽具合ではなく、あるピクセルの周辺のカラー値をサンプルしてそのピクセルの色に付加するというものだった。

 UE3 2011年版のイメージベースド反射エフェクトは、このSSGIを全方向ではなく、視線に配慮した形で垂直方向に限定するもののようだ。まともにやるとレイトレーシングに近い事態になるので、かなり極端な低解像度で実行していると思われる。

 なお、この垂直方向の高輝度部分の溢れ出しは、影部分にしみ出さない配慮がなされている。この特例処理は、SAMARITANデモでは、老婆が歩道を歩くシーンで見られる。歩道を歩く老婆の影が歩道に投射されるが、その影が、歩道の路面に映っている高輝度部分の溢れ出しを正しく遮蔽しているのがそうだ。普通に画面座標系のポストプロセスを行なっただけでは、他者からの遮蔽の影響に配慮できないのでなんらかのマーキングを媒介させていると思われる。

 このイメージベースド反射エフェクトは、このSAMARITANデモの随所に効果的に活用されており、このデモのキービジュアルにもなっている。




■ モーションブラーをボーンベースに

 Epic GamesはUE3 2011年版に対して「ボーンベースモーションブラー(Bone Based Motion Blur)を実装した」と説明をしている。モーションブラーを生成する際に欠かせないピクセル単位の速度(ベロシティ)情報をボーン単位で得るという実装だと思われる。つまり、身体が静止していても腕を振れば、その腕にだけブラーが掛かる……というようなエフェクトだ。

 これは、一般にオブジェクトモーションブラー(Object Motion Blur)と言われるものだが、Epic Gamesでは呼び方を区別しているようだ。SAMARITANデモではこの効果を随所のシーンで確認できるが、特に印象深くて見た目で面白いのは主人公と警備兵との乱闘シーンだ。主人公に殴られた警備兵の顔がものすごい速さで回転しており、この回転方向にブラーがちゃんと出ている。


【ボーンベースモーションブラー】



■ Deferred Renderingベースのレンダラーのサポート

 UE3 2011年版ではDeferred Renderingベースのレンダラーがサポートされるようになった。Deferred Rendering(Deferred Shading)については本連載「KILLZONE2」編を参照して欲しいが、簡単に言えば、こんな感じの流れになる。まず、ライティング抜きでジオメトリを先にレンダリングし、その際に中間値を複数のバッファに出力する。次に、その中間値群を活用して、ライティングをせずに生成したレンダリング結果に対し、ライティング(シェーディング)を後から行なう。シェーディングを後で行なうから遅らせた(Deferred)レンダリング(Shading)というわけだ。

 このレンダリング手法のメリットは光源数を、プログラマブルシェーダ仕様上の上限に囚われず、システムの負荷限界に到達するまで、無制限に利用できるところにある。SAMARITANデモでは、現実世界に近い、かなり複雑な大局照明(GI:Global Illumination)っぽい効果が用いられているが、これらは全て動的光源をそれらしく置いていることによるものだ。

 2009年にEpic Gamesは、静的オブジェクトを配置した完成シーンに静的光源を設置した状態で相互反射まで配慮したGIを事前計算させる仕組み「Unreal Lightmass」を発表しているが、今回のDeferred Renderingレンダラーと統合はされていない(同時利用は可能)。

【Deferred Rendering】
随所に見られるGIっぽい間接光表現や環境光表現はDeferred Renderingの恩恵か



■ 物理シミュレーションのNVIDIA APEXテクノロジーへの対応

 UE3は、これまでもNVIDIAの物理シミュレーションエンジン「PhysX」への対応がなされていたが、UE3 2011年版では、Unreal MATINEEをはじめとしたツール群がAPEXへの対応を果たしたという。一般的に、ゲームにおいて、物理シミュレーションの部分はプログラマ側の管轄下にあり、アーティストはその制御をコンテンツ制作段階でコントロールするのは難しいとされる。

 NVIDIA APEXは、NVIDIA PhysXの上層に位置するフレームワークで、よく用いられるエフェクト物理(布、破壊、パーティクル、乱流、植生)のモジュールで構成されており、APEXに対応したMaya/3ds MAX/XSIといったDCCツール上でアーティストがデザインしたエフェクト物理は、そのまま各ゲームエンジン(この場合はUE3)に持ってくることができる。

 SAMARITANデモでは、主人公の着ているトレンチコートがこのAPEX Cloting(布)を用いて制御されており、このコートの各部位がどの程度の堅さなのかはプログラマではなく、APEX対応のDCCツール側でアーティストの手によって設定されたものになっている。

【Deferred Rendering】
トレンチコートのはためきはAPEX Clothingによってリアルタイム物理シミュレーションされた結果として動いている。この物理パラメータの設定とその効果の確認はDCCツールやUE3 MATINEEなどで行なえる



■ UE3のこれから。iOS、NGPへの対応は完了。3DSへの対応予定はなし

携帯機器のグラフィックスの変移

 最後に「昨年からのアップデート」という意味合いで、昨年からの現在までにかけての、UE3の進化の経緯についても簡単にまとめておこう。

 Epic Gamesは、2010年9月にアップルのiPad、iPhone、iPod Touch(iPhone3GS/4、iPad/2、iPod Touch 3G/4G)などのiOSアプリケーションへの対応を果たした。技術的な対応は昨年のGDCの時点でも終わっていたとみられるが、Appleがミドルウェアなどの存在をあまり好まない立場を取っているため、政治的な根回しや駆け引きに時間が掛かりこのタイミングになったと言われている。

 この発表と同時に「UE3 on iOS」として公開されたテクノロジーデモが「EPIC CITADEL」になる。このEPIC CITADELは、単なる中世ファンタジーの世界観の城下町を探索できるウォークスルーデモだったが、事前計算ベースのGI効果はもちろん、視差マッピング、法線マッピングなどのプログラマブルシェーダ効果なども盛り込まれていたために、そのクオリティに対する評価はとても高かった。

【EPIC CITADEL】

【UE3 iOS対応のプロモーション映像】

 後の2010年12月には無償版のUE3開発キットである「UDK」(Unreal Development Kit)もiOS対応版が提供されている。UDKそのものはWindows PC専用であり、アプリケーション(ゲーム)開発もWindows PC上で行なうことになるが、App Storeへの転送にMacが必要になる。

 この「UDK with iOS Support」のデモ的な位置づけとして公開されたのがファイティングアクションRPG「Infinity Blade」だ。これは前出の「EPIC CITADEL」の開発元であるChAIR Entertainmentが開発したゲームで、実際、背景はEPIC CITADELをほぼそのまま流用したものとなっており、ゲームの内容もシンプルではあった。しかし「UE3ならばEPIC CITADELクオリティのグラフィックスのゲームが開発できる」ことを証明するには十分な完成度ではあった。

 Epic Gamesでは、iOS以外にも、Google Android OSへの対応も行なわれており、スマートフォン分野への進出も強化していく予定のようだ。

「我々はプログラマブルシェーダが動かせるプラットフォームは基本的にサポートができると考えている。スマートフォン、そしてタブレットなどは、今やそうしたハードウェアを搭載するし、サポートは必然の流れだった」(Jay Wilbur氏)。

【Infinity Blade】

【「Infinity Blade」プロモーション映像】

NGPに対応したミドルウェア一覧。UE3(UDK)はNGPに対応する

 次に最近、白熱化しつつある次世代携帯ゲーム機についてはどうか。

「ソニーの次世代PSP(NGP)への対応も既に表明したのはご存じの通り。3DSはとてもユニークなハードウェアだし、私も1台欲しいが(笑)、プログラマブルシェーダーがサポートされないプラットフォームへの対応は現時点ではあまり積極的に行なっていくことを考えていない。UE3の3DSのサポートの可能性は現時点では低い」(Jay Wilbur氏)。

 また、現時点では詳しく話せない……としながらも、Wilbur氏は、現在、日本市場などを中心に、UE3をゲーム以外の目的で活用していくソリューションを画策中であることをほのめかした。UE3は技術的にはもちろんだが、マーケティング面において、かなり勢いづいていることが伝わってくる。

【「Gears of War 3」最新プロモーション映像】

【Gears of War 3】
Epic Games自らがUE3ベースで開発しているタイトルと言えば「Gears of War」シリーズがある。ただし、「Gears of War3」はXbox 360専用ソフトとして開発されてきたため、SAMARITANデモで見られるような新エフェクトの採用はないが、さすがはEpic Gamesと唸らせるクオリティの高さだ

【アスラーズラース】
カプコンとサイバーコネクトツーが共同開発している「アスラーズラース(Asura's Wrath)」はUE3ベースであることが明らかになった。日本スタジオでも徐々に採用が進む。この裏には値下げの影響が多少なりともあったと噂されている

(2011年 3月 31日)

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