2010年10月13日水曜日

【GDC2010】「物理演算によるアコースティックレンダリング」で音を作り出す挑戦…『ファイナルファンタジーXIII』

Game Developers Conference 2010、一般セッション初日の木曜日の午前一発目で開催されたのは、スクウェア?エニックスの土田善紀氏と矢島友宏氏による「FINAL FANTASY XIII’s Motion Controlled Real-Time Automatic Sound Triggering System」です。こちらでは発売されたばかりの『ファイナルファンタジーXIII』のサウンドシステムということもあって、多数の来場者がありました。

【関連画像】

講演タイトルプロフィール土田氏と矢島氏

『ファイナルファンタジーXIII』で実装されたサウンドシステムの一つがMASTS(Motion-Controlled Real-Time Automatic Sound Triggering System)です。これは、ゲーム中のキャラクターの動きから、それによって発生する衣擦れや足音など挙動の音を自動で生成しようという試みです。これが実現すればサウンドデザイナーの負荷は大幅に削減されます。矢島氏は過去の事例からここに至る経緯を説明します。

まず矢島氏が「究極の音」として位置付けのが、物理演算によるアコースティックレンダリングです。全てを演算によって生み出し、あらゆる挙動に対する音をカバーする。今回はそこが目指すべき究極形となります。しかし現実的に利用可能なスペックでは到底不可能です。そこで要素を幾つかに分け (1)空間演出…距離減衰やパンニングなど (2)物体のスケール感を合わせたトータルバランス…ファンタジーなので現実には有り得ない物体が存在するので独自の係数を持って音を鳴らす (3)足音や挙動に関する感情表現。そのうちMASTSが取り組んだのは(3)です。

足音や挙動音を精緻に組み立てることで感情が表現できます。踏みしめる音で怒りを表したり、軽いステップで嬉しさを表現したり。矢島氏は長年、こだわり続け実践してきました。

『ベイグランドストーリー』(PS)ではムービーの足音や挙動音を全てサウンドデザイナーの手で作って表現したそうです。ユーザーが操作できる部分は足の設置点のテクスチャIDで判定してキャラクターとの組み合わせで音を当てます。それぞれ1500個程度があり、合計約3000個の音を作ったそうです。この場合の利点はデザイナーのこだわりを表現できる点で、難点は手動なので、もしキャラクターの雰囲気を変えようとすると全ての音がやり直しになることから調整が困難になる点です。音の個数もこだわればこだわるほど増加していきます。

『ファイナルファンタジーXI』(PS2)では前作の反省プラス、MMORPGで拡張を前提にしていたことから、デザイナーによる一か所ずつの音付けはやめて、全てキャラクターと地形データの組み合わせのみで音を出すようにしたそうです。これにより作業量は減りましたが、挙動による感情表現という意味では余りデザイナーのこだわりが反映されないものとなってしまいました。こちらは約1400の音が作られたそうです。

続く『ファイナルファンタジーXII』(PS2)では集大成を目指し、効率性とクオリティのバランスを目指しました。ムービーのカットシーンは全てデザイナーが音を手付けしました。ゲーム中ではキャラクターと地形データの組み合わせで音を鳴らしますが、モーションに強弱のデータを加えることで、よりリアルな音を鳴らすようにしました。これにより音の数は1000を切るレベルまで削減できましたが、カットシーンの部分は実に約8000まで膨らみます。矢島氏は開発者としは満足できるレベルと話してくれました。



■モーションによる音の自動抽出へ

しかし時代はプレイステーション3、Xbox 360へと動きます。『XII』で8000まで膨らんだカットシーンのボリュームは更に増加することが容易に想像できます。さらに、モーション1つに1つの音というのは、モーションブレンディングという手法が出てきたことによって不可能になりました。従来の延長戦では物量的に開発を終えるのは不可能というのが現実になってきました。

手動で『ファイナルファンタジーXIII』用の1キャラクター分のデータを試しにアサインして作ってみたものシーンを変更した際の手間が膨大にモーションブレンディングも採用された

そこで矢島氏は当初の究極形である「物理演算によるアコースティックレンダリング」にチャレンジします。もちろん最終段階まで到達するのは不可能ですが、まずはキャラクターの挙動に連動して音を鳴らすシステムが目標になります。

次は音の自動生成にもチャレンジしたいと語る

技術的には骨IDの動きを判定して音を鳴らすことになります。もちろんサウンドデザイナーだけで実現するのは不可能です。そこでプログラマに相談に行きますが、最初は難色を示されたそうです。

■MASTSを実装する

ここからはプログラム側として参加した土田氏にバトンタッチします。

プログラマ側が難色を示した理由は「担当できるプログラマが少ない」ということ。というのも、モーションに連動して音を鳴らすとなると、モーション、数学、物理、サウンドまで幅広く理解したプログラマが必要不可欠となります。さらにサウンドプログラマだけでは実現できず、ゲーム全体のプログラマやデザイナーの協力も必要になります。それで最初は躊躇があったものの、様々な困難を乗り越えてでも実現する価値のあるものと次第に理解されるようになったそうです。

MASTSのシステム構成は以下の図のような形になります。図の中心にあるゲームから、MASTSに対して、音を選ぶのに必要な、キャラクター位置情報?各関節の向いた方向?動く速度?モーションの種類と状態?衝突情報?キャラそれぞれに充てられたスクリプトタイプなどがMASTSに渡されます。MASTSではそれらの情報から必要な音を判別し、かつ発音すべきかしないべきか判断します。そして実際に鳴らすべき音をサウンドドライバーに渡すという形になります。

集められる情報鳴らすべき音の種類鳴らす

スクリプトが用意されていて、この骨の座標とこの骨の座標の位置関係がこうなったらこういう動作と判別する、というようなものが汎用5種類、特殊3種類で用意されていて、これにあてはまらない特殊なものはデザイナーがGUIツールを使いながらスクリプトを書けるようになっているそうです。スクリプトから発音する音が選択されます。

ここまでで基本的な自動計算が可能になります。ただ、もちろんそれだけで完ぺきなわけではありません。普通の人間のキャラクターであればある程度これで対応できますが、特殊な形をしたモンスターはそうはいきません。そこでMASTSでは飛び抜けた数値が出た場合にイレギュラー判定する機能を搭載したほか、一時的にMASTSをオフにしてデザイナーが手動で音付けをする仕組みを用意したそうです。また、MASTSのプリレンダリングの仕組みも用意していて、事前にパターンに計算させておくことも出来るようになっているそうです。

デザイナーでも使いやすいGUIツールを用意特殊な動きのスクリプト変な動きの一例

MASTSが実現した結果、カットシーンでの作成工程は約1/3まで削減でき、更にモーションチームやカットシーンプランナーがシーンを調整するのを気にせずサウンド側で作業ができるようになり(カットシーンの音付けはカットシーンが完成しないと確定できない)、効率は大幅に向上したそうです。初回ということでMASTS自体の開発が重くなりましたが、MASTSは今後の作品への流用が可能ですし、作成した音も基本的には次回作移行に流用でき、長い目で見た効率化は更に大きなものになります。

矢島氏は「物理演算によるアコースティックレンダリング」に向けて次なる拡張に乗り出していると明言。さらに完成されたMASTSを見る日も遠くなさそうです。

現行機種の性能を引き出し、長い年月をかけて完成された超大作『ファイナルファンタジーXIII』。MASTSはそこで培われた様々な技術のうちの一つに過ぎませんが、超大作の開発の裏でどのような試行錯誤が行われているのかを垣間見れたのは非常に有意義なセッションであったと言えそうです。

【関連記事】
【GDC2010】PlayStation Moveを初体験してきた!その出来は…!?
【GDC2010】坂本賀勇氏が『METROID: Other M』の豪華スタッフを明らかに
【GDC2010】ロックバンド最新作は「グリーン?デイ」をフィーチャー
【GDC2010】DSiで現実拡張を楽しむ『GHOSTWIRE』メイキング
【GDC2010】今度は心拍数センサーを同梱、『EA SPORTS アクティブ2』が発売決定

引用元:函館市歯科の総合情報サイト

0 件のコメント:

コメントを投稿