[GDC07#10]次世代Battlefieldシリーズ用エンジンFrostbite
AMDは「Frostbite Rendering Architecture and Realtime Procedual Shading Techniques」と題した講演を行った。 まず,AMD Graphics Product Group(ATI)の3D Application Reserch Group Staff Reserch EngineerのNatalya Tatarchuk氏から,プロシージャルテクスチャがなぜ注目されるのかなどについて紹介された。
まずTatarchuk氏は,近年,ゲームの開発コストが劇的に跳ね上がってしまっているという,昨今のゲーム開発における課題を指摘。最新世代のゲームでは,非常にリアルな世界をゲーム内に構築することが,もはや定石となっているのは周知の通りだが,そんなリアルな世界を構築する労力は並大抵ではい。ATIがかつて制作した「ToyShop」のデモでは,500個にのぼるシェーダを書き起こしたということだが,最新のゲームでも,それとほぼ同等の労力が必要となっている。 リアリティある世界(描画)を表現するためには,テクスチャやノーマルマップ,ディスプレースメントマップ,スペキュラーマップ,ディフューズマップなどなど,膨大な量のマッピング素材が必要となるほか,それを格納するグラフィックスメモリも必要。また当然,マッピング素材を描くアーティストも雇わなければならないなど,ハードウェア的な制限,そして開発コストの両面で問題が表面化しているのが実情なのだという。 講演を聴く限りだと,開発コストの問題はとくに深刻になっている様子で,昨日行われたMicrosoftのセッションでも同じような話があったのは興味深い。ゲーム開発において,ゲームデザイナーや開発者よりも,アーティストに支払う金額が一番大きくなっている現状をおかしいと思っている節があるのだろう。この辺の問題は,2005年のGDCでも話題にのぼった課題であるが,次世代機が主流となった現在,それがより表面化してしまったというわけだ。 さて,そんな問題の解決に役立つのが,いわゆる「プロシージャル」技術である。プロシージャルというのは,簡単に言うならば自動生成技術のこと。例えば,姿形の異なった10人の人物をゲーム中に表示させるとしよう。これまでの手法なら,10人分の3Dモデルと10人分のテクスチャを作らなければならなかったわけだが,プロシージャル技術というのは,独自生成エンジンを利用することで,パラメータを変更するだけで自動的にモデルやテクスチャを変化させる……というような手法を指す。今回の講演では,とくにテクスチャについての説明が行われ,その有用さなどが語られていった。 テクスチャを自動生成するようにすれば,グラフィックスメモリの制限をあまり気にしなくて済むほか,ちょっと移動するとテクスチャ読み込みで画面がカクついたりということも,画面を拡大してテクスチャが粗く見えるなどといった事態もなくなる。また逆にズームアウトしたときに,大量のテクスチャ読み込みで重くなるということもない(演算のパフォーマンスは使うが)のである。 また,テクスチャに対するインタラクティビティを確保できるというのも,プロシージャル技術の重要な要素だといえる。例えば武器などで,使ってるうちに傷がついたり,曲がったり,撃たれると穴が空いたり,あるいはこすれて塗装が剥がれたり……などといったことが,自然に行える(動的に処理できる)ようになるのである。ちなみにAMDでは,“リアルな世界”を構築するために,このインタラクティビティを非常に重要なものと考えている様子。物理エンジンなどと同じく,演算によってさまざまな演出をまかなってしまおうという思想が,明確に表れているという雰囲気だ。
GPUの処理能力が突出して上昇し続ける中,DirectX 10では,ジオメトリシェーダが追加されるなど,プロシージャルな処理への関心は高まっている昨今。メモリやHDDからテクスチャをロードすると,容量や転送帯域を気にしなくてはならないわけで,場合によっては,余剰計算力で生成させたほうが安上がりだと考えるのも自然なことなのかもしれない。
■次世代Battlefiled用エンジンFrostbite
DICEのRendering ArchtectであるJohan Andersson氏からは,次世代Battlefiled用エンジンである「Frostbite」について解説が行われた。 Frostbiteとは,Diceが独自に開発し,次世代のBattlefieldシリーズで使用されるというゲームエンジン。第1弾としては,Xbox 360とプレイステーション3で発売される「Battlefield: Bad Company」で使用されることが発表されている。先日公式サイトにティザームービーが公開されたばかりなのだが,このティザームービーがFrostbiteによるリアルタイムレンダリングなのだという。 またAndersson氏が言うには,Frostbiteは,Xbox 360,プレイステーション3,そしてマルチコアのPCに対応したものとなっているとのこと。マルチコアCPUが必要というあたりが,Bad CompanyがPCで発売されない所以であろうが,Bad Company自体は,Frostbiteのパイロットプロジェクトとして位置づけられているようだ。 ちなみにBad Companyでは,地形や乗り物,建物,木などゲームに登場するものは,ほぼすべて壊せる。このあたりは,「What you see is what you play」といっているCrysisなどと同じような感じ。 PCでエディタ(FrostED)を動かし,さまざまなデザインを行っていく。そしてそのデータを各種実行環境用に変換するパイプラインをPC上に用意してあり,最終的なデータを動作させるランタイムは各機種に用意されているそうだ。 またFrostbiteの特徴の一つは,シェーディングにあるといえる。シェーダの高レベル命令を用意し,低レベルな部分でのハード的な違いを吸収しつつ,表現力を高めるとともに生産性を上げているのだ。高レベル命令では,光源の数やタイプ,色,影などを直接指定したり,スキニングやインスタンシング,光の拡散や霧なども指定できるという。
シェーディングで活躍するのが,頂点シェーダやピクセルシェーダの代わりに使われるサーフェスシェーダである。サーフェスシェーダとは,もともとRenderManのシステムで使われていた用語だそうだが,ピクセルシェーダと似ているものの,直接的なコードは書かず,GUI上で操作する。ピクセル単位,頂点単位,オブジェクト単位,フレーム単位など,さまざまなレベルで処理を行える。また,複数のテクスチャをさまざまな条件でブレンドしたりすることで,プロシージャルな処理も行えるのだという。 機能的な部分を見てみると,地形生成機能は,簡単な指定で高精度の地形を作り出すもので,必要なデータ量は少なく,アーティストがデザインを加えることも可能な,半自動生成方式となっている様子。地面に生えている草などの植物も自動生成されるようだ。
さて,マルチコアCPU用のエンジンということで,PCタイトルで使用されるようになるのが当分先かもしれないのは残念なFrostbite。ただBad Companyのムービーに見られるような品質のものを簡単に生産できるようになるというのは,なかなか先が楽しみな話であろう。また,これまでは話だけで終わったり,実験的な使われ方しかされていなかったプロシージャルテクスチャも,いよいよ本格的に,ゲームに投入されることになりそうで,これもなかなか興味深いところ。ゲームグラフィックの進化の歩みは,まだまだ加速度的に進んでいくことになりそうだ(aueki)
|
|
バトルフィールド2142 |
|
|
|
|
|
|
(C)2006 Digital Illusions CE AB. All rights reserved. Battlefield 2142 is a trademark of Digital Illusions CE AB. Electronic Arts, EA and the EA logo are trademarks or registered trademarks of Electronic Arts Inc. in the U.S. and/or other countries. SoundBlaster and the X-Fi logo are registered trademarks of Creative Technology Ltd. in the United States and/or other countries |
|
|
|
|