|
会場:昭和女子大学 「リアルタイムCGにおけるグローバルイルミネーションの実践導入・その他開発事例~Sonic Unleashedの開発現場より~」という長い題目で始まったこのセッションでは、新しい「ソニック」で試みられたライティング技法をはじめとした様々な情報が公開された。
これは、セガの開発体制が完全に次世代水準へと移行し、業界トップレベルのクオリティを生み出せる状態になったことを知らせるものでもあり、実に興味深いセッションだった。
■ リアルな「照り返し」の効果を再現するグローバルイルミネーション
「ソニック ワールドアドベンチャー」では次世代品質の映像を実現するために、様々なグラフィックステクニックを活用している。その中でもキーの要素とされるのが、グローバルイルミネーションと呼ばれる技法だ。グローバルイルミネーションとは、CG用語のひとつで、光の拡散反射を正確に扱う技法のことだ。日本語に直せば「大局照明」という感じになる。 通常、一般的なゲームグラフィックスのライティングでは、光源から放たれる光がオブジェクトに直接ぶつかって作り出す出す陰影を表現する(ローカルイルミネーション)。ところが実際には、現実の光は物体ににぶつかったあと、さらに複雑に反射を繰り返し、周囲の物体も照らし出しだすため、ゲームグラフィックスよりも複雑な陰影が作られる。 これは「相互反射」と呼ばれる現象だが、これをきちんと再現するというのがグローバルイルミネーションのアイディアだ。これを実現するにはステージ全体に対するレイトレーシング法に近いアルゴリズムで莫大な計算量が必要となり、ゲームグラフィックスできちんと再現された例はほとんどない。 橋本氏は、2005年頃にハイエンドゲームグラフィックスを色々と観察した後、何か違和感があったという。そこで「何が足りないのか?」というテーマで考えてみたところ、光源の当たらない“裏側”の領域がどうにものっぺりしていることに気がついた。現実世界では、光源が直接当たらない部分にも、他の物体からの照り返しがあり、微妙なグラデーションを形成する。ゲームグラフィックスの暗い部分に“のっぺり感”があるのは、どうもそれがないからのようだ、と考えたという。 そこで、照り返しを計算してテクスチャ化し、リアルタイムの映像に貼り付けてみてはどうか? と考えた。プリレンダーCGで使われる物理的に正しいライティング計算の一部を抜粋し、照り返しによる影響だけを取り出したライトマップ的なものを事前計算で作るというアイディアだ。 この技法は効果抜群で、暗い部分にもきちんとした陰影感、立体感が感じられるリアルタイム映像を作り出すことができた。セガではこの技法を「GIライティング」と命名、「ソニック ワールドアドベンチャー」で全面的に使用することにした。色々と紆余曲折はあったものの実用レベルになり、このセッションで橋本氏は実機上で動作する「ソニック ワールドアドベンチャー」の映像を公開した。確かに、他のゲームでは見られない、立体感のある映像が作り出せている。
「GIライティング」技法の効果は、ただ映像が綺麗になっただけでなく、開発チームのグラフィックスアーティストの士気を上げる効果もあったという。苦労して制作したステージの3Dモデルが、映画品質に迫る美しさで表現されるというのだから、俄然作りがいが増してくるのだろう。新しい技術のおかげで活気づく、開発現場の雰囲気を感じ取ることができるエピソードだ。
■ グローバルイルミネーションの効果をキャラクタモデルに伝える「ライトフィールド」技法
そこで、橋本氏が試みたグローバルイルミネーションのテクニックでは、事前にステージ全体の空間にどのような光が発生しているかを計算しているので、これを応用して“空間上の色”をキャラクタレンダリングに反映させ、この“浮いた感じ”を解決している。 具体的には、まず、グローバルイルミネーションの事前計算時(おそらくレイトレーシング的な技法)に、空間の各地点において照り返しを含む照光具合を、色を含めて記録。これを3次元格子状のジオメトリに格納し、ステージデータに組み込んでおく。 そして実際にキャラクタをレンダリングするときには、キャラクタ近傍にある格子を参照し、グローバルイルミネーションに基づく色味をキャラクタに反映させる。結果的に、キャラクタは背景にとけ込こんだ色味で描写されるのだ。 橋本氏が「ライトフィールド」と呼ぶこの技法の効果は抜群で、画面上に登場するキャラクタがしっかりと背景にとけ込んで見える。キャラクタの近くに赤いドアがあれば、その方向がうっすらと赤みがかって見え、暗い場所でも、周囲の色味をきちんと取り込んだ映像になる。 この表現のために使われる「ライトフィールド」の3次元格子は、ステージ全体に一様な分布をさせるとメモリ容量を食いつぶしてしまうため、陰影が複雑になるところで多く、ほとんど変化しない部分では少なく……というふうに配置して実用性を高めている。
以上紹介したように、「ソニック ワールドアドベンチャー」の映像は、「GIライティング」と、それをベースにした「ライトフィールド」の2つのテクニックによって、印象的な絵作りに成功してるわけだ。
■ 莫大な計算時間、巨大なテクスチャ容量。山積した難問をどう解決したか?
ひとつは、事前計算に必要な演算量が膨大すぎることだ。テスト映像では500m×500mの空間で計算を行なったが、これでも計算時間は2日に及んだ。このサイズに収まるゲームなら大きな問題とはならないが、当時のゲーム企画では、新しいソニックを秒速100メートルで走らせようとしていたため、1ステージの全長は15km、計算時間は数カ月になってしまうと予想されたという。 もうひとつの問題は、グローバルイルミネーションを表現するテクスチャのサイズがあまりにも大きくなってしまうことだ。テスト映像ですらテクスチャは100MBとなり、本番用のステージでは数百メガバイトから1GBを超えるサイズになることが予想された。これではとても実機に収まらない。
橋本氏はそこでずいぶんと悩んだ様子だが、結局は「まあ、そのまま突き進もう!」と前のめりで問題解決に取りかかったという。そこでの解決策が、グローバルイルミネーションの技法をスケールダウンさせることではなく、他の面で色々工夫して何とか詰め込むという、アグレッシブなソリューションだったことが面白い。
その結果、オフィス全体の消費電力が猛烈に上がり、「ブレーカーが落ち始めて、本当にしゃれにならないと思った」という橋本氏だが、そこは電力を増強するなどの対策をはかり、開発メンバー全員のPCが参加する分散処理環境が完成。計算時間は100分の1くらいになり、1ステージの事前計算が一晩から二晩で完了できるようになった。これならいける、という手応えを掴んだようだ。 テクスチャサイズの問題は2種類に分類された。ひとつは、そもそも実機のメモリに乗らないだろう、ということだ。これについては、データをストリーミング的に順次流し込むという方法で解決。膨大なパーツ数に上るテクスチャを、ひとつの巨大なマルチテクスチャにまとめるなどの工夫が必要だったというが、なんとかPS3、Xbox 360の両ゲーム機上に収まったという。 メインメモリの問題は解決したが、今度はメディアの問題が残っている。というのは、PS3ならばブルーレイディスクの大容量のおかげで全ステージが問題なく格納できるが、Xbox 360では容量が足りず、なんとかして詰め込む必要に迫られたのだ。これについては「現在も取り組んでいます。まあ何とかなるでしょう」と、現在進行形であることを明かした。 年末の発売を控え、開発がヒートアップする時期のなか、こうして沢山の情報を公開したセガの姿勢には大きな賛辞を送りたい。橋本氏のプレゼンテーションは実機映像を多数まじえたもので、非常に見応えがあった。技術的な内容についても、次世代機水準に完全に適応したセガの姿を見ることができ、今後が益々楽しみになった次第だ。
なお、このセッションでは、セガの最新開発環境の基盤となっている「Hedgehog Engine」の簡単な紹介も行なわれた。自社開発ツール類を含む統合開発プラットフォームといった趣だが、こちらについては構成要素についてのカタログ的な説明にとどまっていたため、今回はスライドの写真でお伝えしよう。
□「CEDEC 2008」のホームページ http://cedec.cesa.or.jp/ □セガのホームページ http://sega.jp/ (2008年9月12日) [Reported by 佐藤カフジ]
また、弊誌に掲載された写真、文章の転載、使用に関しましては一切お断わりいたします ウォッチ編集部内GAME Watch担当game-watch@impress.co.jp Copyright (c)2008 Impress Watch Corporation, an Impress Group company. All rights reserved. |
|