イベント
[E3 2012]Epic Gamesがメディア向けに「Unreal Engine 4」を正式に公開。Global Illuminationを完全リアルタイムで演算可能に
Unreal Engineといえば,Epic Gamesの「Gears of War」や「Infinity Blade」をはじめとして,「Mass Effect」シリーズや「Batman: Arkham City」「Silent Hill: Downpour」といったさまざまなタイトルで利用されているライセンス型ゲームエンジンだ。E3 2012でも「Borderlands 2」「Dishonored」「DUST 514」,さらには「DmC Devil May Cry」や「Hawken」といった,同エンジンが採用されたゲームが発表されており,ゲームエンジンのライセンスビジネスでは業界トップにあるといってよい。
Epic Gamesは,2011年3月に開催されたGames Developers Conference 2011で,大きな話題を呼んだ「Samaritan」というデモを公開しているのだが,これはあくまでも「Unreal Engine 3」世代のアップデートであるという。知られているところではLucas Arts Entertainmentが発表したばかりの「Star Wars 1313」が,Samaritanと同等の技術を使用したものとされる。
少々目の肥えた人が見ても,Unreal Engine 3世代とされるSamaritanやStar Wars 1313の画面で十分美しい映像に見えるため,わざわざ今の段階でUnreal Engine 4のテクノロジーデモを公開する必要があるのかと訝しむ向きもあるかもしれない。実のところ,Unreal Engine 4は,2013年に発表がウワサされる「第3世代Xbox」および,そこから遠からず発表されるであろう「第4世代PlayStation」などの次世代ゲーム機向けを想定していたものとされており,実際にUnreal Engine 4を使用したゲームで遊べるのは,まだまだ先のことであろう。
内容は,長らく眠りについていたと思われるドラゴンナイトをテーマとしたもので,ドラゴンナイトが目覚めるとともに,周囲に溶岩が流れ始め,彼が歩くにしたがって,城もしくは神殿と思われる場所が崩れていくさまが描写されている。最後は,雪の舞う山岳地帯を通り抜けたカメラが,火山の噴火を背景にしたドラゴンナイトを追い戻って捉えていく。
まずは,この映像を見ていただきたい。
このElementalでの最大の見どころは,光の反射の演算をリアルタイムで行う「Dynamic Global Illumination」と呼ばれる照明効果である。我々の住む現実世界では,実際にはどんな材質のオブジェクトであれ,光を反射させているのであり,それらの反射光が積み重なって微妙な風合いを生み出している。あらゆる部分から反射してくる光を考慮して陰影をつけるのがGlobal Illuminationである。
また,そのときの光の反射は,そのオブジェクトばかりでなく,直接的な光源となる太陽の位置や時間帯,気象によっても変化するわけで,昼夜や気象を表現することの多くなった昨今のゲームにおけるリアリズム表現では,Global Illuminationは重要度を高めつつある。
NVIDIAの関連サイトである「GeForce.com」に掲載されたEpic Games CEOティム・スウィーニー(Tim Sweeney)氏の発言によると,彼は「1995年にUnreal Engine第1世代で行ったDirect Illumination以来,最大のブレイクスルー」と答えているほど,この技術はゲームグラフィックスにとっての大きなマイルストーンになると見なしているのだ。
このDynamic Global Illuminationは,正確にはSVOGI(Sparse Voxel Octree Global Illumination)と呼ばれているものである。これまでの一般的なゲームでもGlobal Illuminationは利用されてはいるのだが,それぞれの場所での反射光の情報を事前に計算して「Lightmap」という2Dテクスチャに搭載するという方式であった。事前計算が主なので,基本的に静的なシーンを想定したものなのだが,いろいろ工夫をして光源の動きなどに対応しているものもある。
Unreal Engine 4では,Lightmapは利用されず,すべての陰影情報がボクセル(ピクセルとは異なり,三次元の座標データを取り入れた最小単位)に,オクトリー(八分木)と呼ばれる枝状のデータ構造で格納される。その情報をVoxel Cone Tracingという技術で,すべてリアルタイムで処理していくという,これまでとはまったく異なるパイプラインとなっている。
要するに,Unreal Engine 4には事前処理された照明効果は存在せず,オクトリーをフレームごとにアップデートし,1つ1つのピクセルはそこから表現に必要な情報を取り出して描画されていくことになるわけだ。このあたりは,上記のGeForce.com,およびSVOGIのもとになったという2011年度の研究発表を行っているCeryl Crassin氏のブログなどから詳しい解説を辿れるので,興味のある方はチェックしてみるとよいだろう。
ざっくばらんにまとめると,関連論文によれば,この手法は従来の技法と比較した場合,効率や処理速度では劣るものの,事前計算が必要ないことと,精度が圧倒的に高いことがメリットだとされている。BeastやEnlightenといったミドルウェアでは,現行世代機での動的なGlobal Illuminationを実現しているが,高速化のために犠牲にしているものもある。次世代機を前提にしたUnreal Engine 4では,新しいアプローチが取られたのであろう。
この画像は,像のテクスチャーが大理石から真鍮,銀や金へと材質を変えていくうえで,リアルタイムに手前や周囲の反射光が変わっていくというデモだ。反射光の色だけでなく,強さも変化するのがGlobal Illuminationの特徴である。Unrea lEngine 4はFully Differedレンダラを利用しており,右小さな球体を利用した「Differed Decals」デモは,ディフューズ(散乱)やスペキュラー(鏡面反射)シェーダばかりでなくノーマル(法線:凹凸)も変更できることを示している
このElementalのライブデモで最も凄かったのは,上記の画像にあるテクノロジーデモの解説のすべてが,実はUnreal Engine 4用スクリプトエディタ「Kismet」を利用したものだったという事実だ。デモで行われたテクスチャの変化やオブジェクトの移動はすべてリアルタイムで行われており,Kismetのエディタ画面を離れることなく,その効果を瞬時に確認できるようになっている。
また,KismetそのものもUnreal Engine 4では新しくデザインし直されており,すべてのパネルをプログラマの好みによってカスタマイズできるようになっている。
このパネルの新しい種類として「Detail」というものが加わっており,セレクトしたオブジェクトに関する細かい情報を参照できる。そのプロパティだけでなく,ロケーションからクラス,テクスチャの種類までが表示されるとのことだ。
このKismetには,新しく「Blueprint」という機能が追加される予定であるが,これによりKismetがレベルのスクリプトを記述するだけではなく,それぞれのアセットも管理できるようになるという。このBlueprintを表示した場合,「Kismet Graph」と呼ばれる実行時の流れが一目で分かるようになり,例えば肖像のテクスチャを変化させる上記のデモであれば,何秒後にテクスチャが変化していくのかといった細かい情報を確認することが可能になるという。この機能は,デバッグ時に大きな力を発揮することだろう。
今回のUnreal Engine 4のテクノロジーデモでは,Global IlluminationとKesmitの新機能しか公表されておらず,まだまだ公開されていない機能があるのは間違いなさそうだ。実際にリリースされるのは,Epic Gamesの新作タイトルが初めてとなるだろうから,早く見積もっても次世代機が登場した年の年末といったところだろうか。
Crytekの「CryENGINE」だけでなく,EA DICEの「Frostbite」やUbisoft Montrealの「AnvilNext」,そしてスクウェア・エニックスの「Luminous」など,それなりに競合エンジンも増えているのは確かだが,ライセンスビジネスではEpic GamesのUnrealTechnologyは一歩抜きん出た存在であり,次世代に向けた用意も着々と整い始めている。今後の情報公開に期待しよう。
4Gamer E3 2012特設ページはこちら
- 関連タイトル:
Unreal Engine
- この記事のURL: