【Watch記事検索】
最新ニュース
【11月30日】
【11月29日】
【11月28日】
【11月27日】
【11月26日】

CEDEC 2008 現地レポート

セガ、新作「ソニック ワールドアドベンチャー」におけるライティング技法を公開
“次世代水準”の映像美を実現するグローバルイルミネーション

9月9日~11日開催

会場:昭和女子大学


 「CEDEC 2008」の3日目に行なわれた技術セッションの中から、株式会社セガが2008年末に発売予定のプレイステーション 3/Xbox 360用「ソニック ワールドアドベンチャー」に関する情報をお伝えしよう。

 「リアルタイムCGにおけるグローバルイルミネーションの実践導入・その他開発事例~Sonic Unleashedの開発現場より~」という長い題目で始まったこのセッションでは、新しい「ソニック」で試みられたライティング技法をはじめとした様々な情報が公開された。

 これは、セガの開発体制が完全に次世代水準へと移行し、業界トップレベルのクオリティを生み出せる状態になったことを知らせるものでもあり、実に興味深いセッションだった。


■ リアルな「照り返し」の効果を再現するグローバルイルミネーション 

技術情報を解説する橋本善久氏
グローバルイルミネーションの概念図。オブジェクトからの拡散反射光が他のオブジェクトを照らし、複雑な陰影が作られる
新「ソニック」における「GIライティング」。海の青色、植物の緑色・赤色が、建物の壁面にうっすらと反射していることがおわかりいただけるだろうか
 本セッションの演台に立ったのは、株式会社セガ・第二CS研究開発部ディレクター兼テクニカルディレクターの橋本喜久氏。現在は「ソニック ワールドアドベンチャー」の開発に携わっているという。橋本氏は同タイトルの技術開発を担当する立場から、この新しい「ソニック」で導入されたライティング技法など、様々な情報について解説を行なった。

 「ソニック ワールドアドベンチャー」では次世代品質の映像を実現するために、様々なグラフィックステクニックを活用している。その中でもキーの要素とされるのが、グローバルイルミネーションと呼ばれる技法だ。グローバルイルミネーションとは、CG用語のひとつで、光の拡散反射を正確に扱う技法のことだ。日本語に直せば「大局照明」という感じになる。

 通常、一般的なゲームグラフィックスのライティングでは、光源から放たれる光がオブジェクトに直接ぶつかって作り出す出す陰影を表現する(ローカルイルミネーション)。ところが実際には、現実の光は物体ににぶつかったあと、さらに複雑に反射を繰り返し、周囲の物体も照らし出しだすため、ゲームグラフィックスよりも複雑な陰影が作られる。

 これは「相互反射」と呼ばれる現象だが、これをきちんと再現するというのがグローバルイルミネーションのアイディアだ。これを実現するにはステージ全体に対するレイトレーシング法に近いアルゴリズムで莫大な計算量が必要となり、ゲームグラフィックスできちんと再現された例はほとんどない。

 橋本氏は、2005年頃にハイエンドゲームグラフィックスを色々と観察した後、何か違和感があったという。そこで「何が足りないのか?」というテーマで考えてみたところ、光源の当たらない“裏側”の領域がどうにものっぺりしていることに気がついた。現実世界では、光源が直接当たらない部分にも、他の物体からの照り返しがあり、微妙なグラデーションを形成する。ゲームグラフィックスの暗い部分に“のっぺり感”があるのは、どうもそれがないからのようだ、と考えたという。

 そこで、照り返しを計算してテクスチャ化し、リアルタイムの映像に貼り付けてみてはどうか? と考えた。プリレンダーCGで使われる物理的に正しいライティング計算の一部を抜粋し、照り返しによる影響だけを取り出したライトマップ的なものを事前計算で作るというアイディアだ。

 この技法は効果抜群で、暗い部分にもきちんとした陰影感、立体感が感じられるリアルタイム映像を作り出すことができた。セガではこの技法を「GIライティング」と命名、「ソニック ワールドアドベンチャー」で全面的に使用することにした。色々と紆余曲折はあったものの実用レベルになり、このセッションで橋本氏は実機上で動作する「ソニック ワールドアドベンチャー」の映像を公開した。確かに、他のゲームでは見られない、立体感のある映像が作り出せている。

 「GIライティング」技法の効果は、ただ映像が綺麗になっただけでなく、開発チームのグラフィックスアーティストの士気を上げる効果もあったという。苦労して制作したステージの3Dモデルが、映画品質に迫る美しさで表現されるというのだから、俄然作りがいが増してくるのだろう。新しい技術のおかげで活気づく、開発現場の雰囲気を感じ取ることができるエピソードだ。

基礎研究段階で、橋本氏が参考にしたというプリレンダリングのCG。照り返しがきちんと再現されており、直接光源にさらされない場所でも複雑な色味が作られている。これをもとに橋本氏は、光の特性について考え、よし、できそうだと判断。パイロット版の実装は「同僚にがんばってもらった」と明かし、会場の笑いを誘った

およそ2カ月で制作したというパイロット版の映像。プリレンダリングのCGに近い、暗部の立体感が実現している。「こりゃなかなかいい」と思った橋本氏は、これを「ソニック ワールドアドベンチャー」に適用することを決意した

そして実際に「ソニック ワールドアドベンチャー」に実装された「GIライティング」。周囲の拡散光を考慮した陰影効果が壁面に見られるほか、植物の葉に関しては、太陽光が透過して透けるように見える様子も再現されている。これは事前計算において、葉っぱが光を透過する率もきちんと組み込んだということだろう

グローバルイルミネーションの効果を焼き込んだ「GIテクスチャ」の有無による比較。適用されていない映像では、ディフューズテクスチャ、法線マップなどが適用されているが、旧世代的な、のっぺりとした質感になっている。そこに「GIテクスチャ」を適用すると、一気に質感が向上する


■ グローバルイルミネーションの効果をキャラクタモデルに伝える「ライトフィールド」技法

橋本氏は、本タイトルの技術を解説するため、実際にXbox 360の実機上でデモンストレーションして見せていた。未発売のタイトルについてのセッションとしては大変に太っ腹である
ライトフィールドの概念。描画対象のキャラクタの周囲に照明データが格納されており、それをもとにキャラクタの色味を決定する
 グローバルイルミネーションをゲームに搭載した効果はもうひとつある。一般的なゲームでは、ゲームステージ上に後からレンダリングされるキャラクタが、周囲の光源をあまり反映しておらず、色味が違ってくるために“浮いて見える”事がよくある。これを改善するために、地面上の明るさデータをキャラクタに反映させる技法はよく使われるが、周囲の空間に満ちる色味をきちんと反映するためにはもっと工夫が必要だ。

 そこで、橋本氏が試みたグローバルイルミネーションのテクニックでは、事前にステージ全体の空間にどのような光が発生しているかを計算しているので、これを応用して“空間上の色”をキャラクタレンダリングに反映させ、この“浮いた感じ”を解決している。

 具体的には、まず、グローバルイルミネーションの事前計算時(おそらくレイトレーシング的な技法)に、空間の各地点において照り返しを含む照光具合を、色を含めて記録。これを3次元格子状のジオメトリに格納し、ステージデータに組み込んでおく。

 そして実際にキャラクタをレンダリングするときには、キャラクタ近傍にある格子を参照し、グローバルイルミネーションに基づく色味をキャラクタに反映させる。結果的に、キャラクタは背景にとけ込こんだ色味で描写されるのだ。

 橋本氏が「ライトフィールド」と呼ぶこの技法の効果は抜群で、画面上に登場するキャラクタがしっかりと背景にとけ込んで見える。キャラクタの近くに赤いドアがあれば、その方向がうっすらと赤みがかって見え、暗い場所でも、周囲の色味をきちんと取り込んだ映像になる。

 この表現のために使われる「ライトフィールド」の3次元格子は、ステージ全体に一様な分布をさせるとメモリ容量を食いつぶしてしまうため、陰影が複雑になるところで多く、ほとんど変化しない部分では少なく……というふうに配置して実用性を高めている。

 以上紹介したように、「ソニック ワールドアドベンチャー」の映像は、「GIライティング」と、それをベースにした「ライトフィールド」の2つのテクニックによって、印象的な絵作りに成功してるわけだ。

ライトフィールドの効果は抜群。適用しない場合の映像に比べ、ソニックが背景に溶け込んで見える。明るさだけでなく、周囲の壁や、植物の色合いがキャラクタに反映されているのがよくわかるだろう

■ 莫大な計算時間、巨大なテクスチャ容量。山積した難問をどう解決したか?

問題山積だったグローバルイルミネーションの実装。橋本氏はこの問題に正面から取り組んだ
 しかし、グローバルイルミネーションを実機上に応用するためには、大変な障害を乗り越える必要があった。2005年の実験段階では、グローバルイルミネーションの計算を行なってパイロット映像を制作すること自体は2カ月程で完了したという。しかし、そこで浮かび上がってきた問題が2つある。

 ひとつは、事前計算に必要な演算量が膨大すぎることだ。テスト映像では500m×500mの空間で計算を行なったが、これでも計算時間は2日に及んだ。このサイズに収まるゲームなら大きな問題とはならないが、当時のゲーム企画では、新しいソニックを秒速100メートルで走らせようとしていたため、1ステージの全長は15km、計算時間は数カ月になってしまうと予想されたという。

 もうひとつの問題は、グローバルイルミネーションを表現するテクスチャのサイズがあまりにも大きくなってしまうことだ。テスト映像ですらテクスチャは100MBとなり、本番用のステージでは数百メガバイトから1GBを超えるサイズになることが予想された。これではとても実機に収まらない。

 橋本氏はそこでずいぶんと悩んだ様子だが、結局は「まあ、そのまま突き進もう!」と前のめりで問題解決に取りかかったという。そこでの解決策が、グローバルイルミネーションの技法をスケールダウンさせることではなく、他の面で色々工夫して何とか詰め込むという、アグレッシブなソリューションだったことが面白い。

計算量の問題は分散処理で解決。専用のソフトウェアを作った
「GIテクスチャ」は記録メディアからストリーミングすることに。メモリを節約するため、大きなテクスチャにまとめて格納した
 まず、事前計算に膨大な時間が掛かる問題については、当時話題になっていたP2Pコンピューティングに着想を得て、「分散処理がいいのではないか」となった。計算用のワークステーションを新たに何百台も調達していては予算を食いつぶしてしまうので、開発チームのPCに“ちょっとずつ”計算に参加してもらうというソリューションだ。

 その結果、オフィス全体の消費電力が猛烈に上がり、「ブレーカーが落ち始めて、本当にしゃれにならないと思った」という橋本氏だが、そこは電力を増強するなどの対策をはかり、開発メンバー全員のPCが参加する分散処理環境が完成。計算時間は100分の1くらいになり、1ステージの事前計算が一晩から二晩で完了できるようになった。これならいける、という手応えを掴んだようだ。

 テクスチャサイズの問題は2種類に分類された。ひとつは、そもそも実機のメモリに乗らないだろう、ということだ。これについては、データをストリーミング的に順次流し込むという方法で解決。膨大なパーツ数に上るテクスチャを、ひとつの巨大なマルチテクスチャにまとめるなどの工夫が必要だったというが、なんとかPS3、Xbox 360の両ゲーム機上に収まったという。

 メインメモリの問題は解決したが、今度はメディアの問題が残っている。というのは、PS3ならばブルーレイディスクの大容量のおかげで全ステージが問題なく格納できるが、Xbox 360では容量が足りず、なんとかして詰め込む必要に迫られたのだ。これについては「現在も取り組んでいます。まあ何とかなるでしょう」と、現在進行形であることを明かした。

 年末の発売を控え、開発がヒートアップする時期のなか、こうして沢山の情報を公開したセガの姿勢には大きな賛辞を送りたい。橋本氏のプレゼンテーションは実機映像を多数まじえたもので、非常に見応えがあった。技術的な内容についても、次世代機水準に完全に適応したセガの姿を見ることができ、今後が益々楽しみになった次第だ。

 なお、このセッションでは、セガの最新開発環境の基盤となっている「Hedgehog Engine」の簡単な紹介も行なわれた。自社開発ツール類を含む統合開発プラットフォームといった趣だが、こちらについては構成要素についてのカタログ的な説明にとどまっていたため、今回はスライドの写真でお伝えしよう。

「ソニック ワールドアドベンチャー」の開発基盤となっている「Hedgehog Engine」。エンジンライブラリには描画関係のライブラリだけでなく、AI系ライブラリが存在していることが特徴的だ。また開発基盤全体としては、アーティスト用の多数の独自ツールが組み込まれている。セガにおける新世代の開発基盤整備はしっかり整ったようであり、これからの展開も楽しみになってくる

「ソニック ワールドアドベンチャー」におけるレベルデザインワークフロー。完成したステージのグローバルイルミネーションを含むアセット構築には数日の期間がかかるため、ゲームプレイ上のデザインは事前に“簡易マップ”を使って完成させておくという。ゲーム性が完全に固まってから、映像上の作り込みが入り、その上に「GIライティング」が施されて完成する。完成後のステージは基本的に作り直しが難しいため、後になって調整の必要が出ると相当しんどいことになるようだ

「Hedgehog Engine」には、実機上のデバッグ作業を支援する各種組み込み機能も入っている。こうした基盤整備が、効率的なゲーム開発プロセスを実現可能なものにしてくれるのだろう


□「CEDEC 2008」のホームページ
http://cedec.cesa.or.jp/
□セガのホームページ
http://sega.jp/

(2008年9月12日)

[Reported by 佐藤カフジ]



Q&A、ゲームの攻略などに関する質問はお受けしておりません
また、弊誌に掲載された写真、文章の転載、使用に関しましては一切お断わりいたします

ウォッチ編集部内GAME Watch担当game-watch@impress.co.jp

Copyright (c)2008 Impress Watch Corporation, an Impress Group company. All rights reserved.