【CEDEC 2016】Wwiseの魅力を語ります!バンダイナムコスタジオにおける 『Wwise』活用事例 | GameBusiness.jp

【CEDEC 2016】Wwiseの魅力を語ります!バンダイナムコスタジオにおける 『Wwise』活用事例

ゲーム開発 ミドルウェア

【CEDEC 2016】Wwiseの魅力を語ります!バンダイナムコスタジオにおける 『Wwise』活用事例
  • 【CEDEC 2016】Wwiseの魅力を語ります!バンダイナムコスタジオにおける 『Wwise』活用事例
  • 【CEDEC 2016】Wwiseの魅力を語ります!バンダイナムコスタジオにおける 『Wwise』活用事例
  • 【CEDEC 2016】Wwiseの魅力を語ります!バンダイナムコスタジオにおける 『Wwise』活用事例
  • 【CEDEC 2016】Wwiseの魅力を語ります!バンダイナムコスタジオにおける 『Wwise』活用事例
  • 【CEDEC 2016】Wwiseの魅力を語ります!バンダイナムコスタジオにおける 『Wwise』活用事例
  • 【CEDEC 2016】Wwiseの魅力を語ります!バンダイナムコスタジオにおける 『Wwise』活用事例
  • 【CEDEC 2016】Wwiseの魅力を語ります!バンダイナムコスタジオにおける 『Wwise』活用事例
  • 【CEDEC 2016】Wwiseの魅力を語ります!バンダイナムコスタジオにおける 『Wwise』活用事例
株式会社バンダイナムコスタジオ サウンド部 テクニカルサウンドデザイナーの中西哲一氏と、サウンド部サウンドディレクター/サウンドデザイナー 渡辺量氏、サウンド部 サウンドデザイナー 船田純一氏は、CEDEC2016の講演でゲーム開発用インタラクティブサウンドエンジンWwiseを導入したいくつかの事例の実演および実装部分の解説を行いました。

株式会社バンダイナムコスタジオでは4,5年前から段階的にWwiseを導入しており、既に『鉄拳7 FATED RETRIBUTION』や『Star Wars: Battle Pod』などリリース製品にも使用されています。今回の講演は社内製ソフトウェアやその他サウンドツールからWwiseへ移行する際の分からなかったところ、初期導入で悩んだところを実践的に解説していく内容となります。

講演アジェンダは以下の通りです。

・Wwiseのメリットを知る
・ツールの概念のおさらい
・実践例Tips
・ここまでできるWwise~無いなら作ればいいじゃない~

Wwiseのメリットを知るー「手軽だけど奥が深いミドルウェア」



最初に、船田氏よりWwiseの基本的な概念および機能の説明が行われました。WwiseとはAudiokinetic社からリリースされているゲーム開発用インタラクティブサウンドエンジンで、これまでアーティストとプログラマーの間で分業化されていたBGMや効果音実装のワークフローを改善し、アーティスト側が直接ゲーム内でサウンドを編集することを可能にしたミドルウェアです。株式会社バンダイナムコスタジオでWwiseが採用された理由として、Wwiseと親和性の高いUnreal Engineを採用したタイトルが増加して来たことが挙げられると船田氏は説明します。その後Unreal EngineとWwiseの組み合わせが「非常に使いやすい」と社内で評価を得て、段階的に業務用タイトルでの導入が始まりました。


オーディオアセットをバンクにまとめて、イベントで再生/停止を制御するのがWwiseの基本的な概念

プログラマに依存せずともサウンドの鳴らし方、止め方の制御をサウンドデザイナーが設計出来るというのがWwiseの導入メリットの要です。その秘密は「イベント」という考え方で、プログラマーは指定の条件の時にイベントという白紙のアクション指示を発行し、サウンドデザイナーはそのイベントに対応するアクションをデータをWwise内で自由に決めて行きます。


イベントで出来ることは再生/停止だけではなく、例えばポーズやミュート、音量、ピッチの変更、フィルター制御やエフェクト制御、バス音量の調整などが操作可能。イベント制御の恩恵によってサウンド実装/制御のコストがプログラマによるコード制御からサウンドデザイナーによるデータ制御へ移行される。

Wwiseを導入した際の仕事の比率の変化については、体感的にサウンドプログラマの負荷が1から0.3程度に減少し、サウンドデザイナーの負荷は1→1.2に微増したそうです。このことについては「サウンドだけで出来ることが増えたため、楽しすぎて1.2になってしまう!」と中西氏から補足が入りました。また、クオリティについては2倍程度アップしたように感じられたとのことです。


Wwiseによってもたらされた恩恵は大きく、開発終盤でも気兼ねなくサウンドの仕様を変更出来るので、詰めの作業を最後まで行える点が非常に助かっているとのこと。

先述の通り、プログラマ側の実際の仕事としては「イベント」を呼ぶだけです。これまでは複雑な制御をプログラム上で書いていましたが、Wwise導入後はサウンドデザイナー側でイベントの内部を作成することで、プログラマの作業を増やすことなく細部までデザインが可能になりました。実機接続による調整も用意で、画面内の[Remote]をクリックすれば実機環境でのサウンドテストが可能です。リアルタイムで動作中の実機パラメーターを変更でき、そのまま調整内容を保存すれば完了するため、調整時間を大幅に削減可能です。


発音状況やCPU負荷、メモリ消費量やラウドネス値まで確認出来る強力なプロファイラーが搭載され、詳細なログを確認しながらバグ対応が可能。

導入メリットをまとめますと、まず第一に「プログラマとデザイナーの作業バランス変化」、つまりプログラマは作業負荷の軽減、デザイナー側は表現自由度が向上するという点、次に「調整やチューニングコストの大幅減」という点となります。また、4年間ほぼ毎日Wwseを立ち上げている中で一度もクラッシュした事がなく、サポート体制も万全で、危機的な状態で出たバグに対して親身かつ迅速に日本語対応をしてくれる点が優れていると説明されました。

ツールの概念のおさらいとイベントの動的制御について




続いては渡辺量氏より、ツール概念のおさらいと実践的な説明がありました。Wwiseにはコンテナという概念があり、このコンテナにはランダムコンテナやシーケンスコンテナ、レイヤーやブレンドなど様々な種類が存在します。Wwiseではツリー構造になっているAudioタブ内にオーディオアセットをインポートして行きますが、例えばひとつのイベント時に複数のオーディオアセットをランダム再生したい場合はランダムコンテナを用いた実装を行います。やり方は大変簡単で、画面上からワンクリックでランダムコンテナを作成後、そこに任意のオーディオアセットを格納するだけです。これは一般的なフォルダ構造の概念と全く同様です。


デモンストレーションでは、ランダムコンテナを作成後、複数種類の爆発音をコンテナ内に収納し鳴らし分けるといった操作が行われた。

また、シーケンスコンテナでは複数のオーディオアセットを組み合わせて再生する事ができ、例えば「ミサイル発射音」「ミサイルが飛んでいる音」「着弾」を組み合わせて順番に再生する事が可能です。このように、基本的には制御したい操作に合わせたコンテナを用意し、そこにアセットを格納するだけで意図した通りの制御が可能となります。

これらを制御するミキサー部については一般的なDAW(デジタル・オーディオ・ワークステーション)の操作感と似ており、マスターバスフェーダーとその子関係にあるグループバスによってゲーム内音声のミキシングを進めて行きます。当然エフェクトも適用可能で、ダッキングなどの処理もバス単位で設定が可能です。オーディオ・ミキサーは「グループ化」目的としても使用することができ、これによってイベントをコールする際の発音数を削減する事が可能です。


子は親の設定の影響を引き継ぐため、大量のオーディオアセットを組み込むプロジェクトの場合は初期構築時の構造が大変重要。

また、Wwiseにはヒエラルキーと呼ばれる親子関係があり、一般的なフォルダ概念と同様ドラッグ&ドロップでフォルダを連ねて行く事が出来ます。パラメータ設定を親側で行うと、子はパラメータをそのまま参照するため、特に肥大なプロジェクトの場合はプロジェクト構築時における設計が非常に大切だと渡辺氏は語ります。例外としてオーバーライド(Override Parent)を使用すると親の設定を無視して強制的に数値設定を行う事が出来ますが、これについてはあくまで最終手段として使うべきで、構築時の構造次第でやり易いプロジェクトになるかどうかが決まるとのことです。

続いては、よりインタラクティブなゲームシンクについての説明がありました。ゲームシンクは、ゲーム上のパラメータとWwiseイベントの中身を連動させる事を指します。


RTPC(リアルタイムパラメーターコントロール)とは、ゲーム内パラメーターの変化に応じて、Wwiseオブジェクトのパラメータを変化させる機能です。この機能を用いる前に、ゲーム内のパラメーターをRTPCと関連付けてもらうよう事前にプログラマに依頼する必要があります。デモでは風切り音の事例を元に、プレイヤーのスピードに合わせてボリュームとピッチを変化させる実装を行いました。また、プレイヤーの高度(位置情報)をブレンドコンテナを経由してRTPCに入れることで、3つの風切り音の波形を組み合わせて再生する事を可能にしています。プレイヤーの高度が上がると、いかにも寒そうな高周波サウンドにシームレスに切り替わります。

続いては地面のアセットをゲーム側から返してもらい、「キャラクターがどこに立っているか」に合わせて足音を変化させるデモがありました。実際のデモでは、「歩いているのか走っているのか」「体型」「地面の形状」などの情報を元に、「FOOT」というひとつのイベントに集約されたオーディオアセットが任意の状況に合わせて再生されました。

いよいよ超上級編ーWwiseを使う時の上級Tip集



最後に中西氏から、Wwiseを使う際のTipsの紹介がありました。まず、まとめてオーディオを編集する際のTipsとして、マルチエディット機能の紹介がありました。編集したいオーディオアセットを複数選択し、右クリックからMulti-edit…を選択し、その後の数値調整を固定値ではなく+5や-3といった入力にするとオフセットを相対値として編集が可能なります。

続いては、リテイクになった際に波形を差し替える方法についてのTipsの紹介がありました。差し替え方法についてはいくつかありますが、最も一般的なのは差し替えたいアセットを右クリックして「Import Audio→Replace Audio File」を選択する方法です。これは現在のwavファイルを新しくアップロードしたwavに差し替える方法ですが、「一旦変えるけれど、また戻すかも知れない」という場合は、差し替えたいアセットを選択して右クリック後「Create new object」を選択します。これによってインポートしたファイルがアセットの同列に追加され、画面下部の「Use」をクリックすれば選択された方がイベント内で再生されるという仕組みになります。これはバージョン管理に近い考え方で、こうなると未使用のオーディオファイルだけでも相当な容量になってしまいますが、この場合はSource Filesタブを選択した後にUsageでソートすれば使われていないファイルだけをソートする事が出来ますので、それらを複数選択してDeleteを行えばOriginalsフォルダからデータが削除されます。


オーディオ差し替え時は二通りの設定方法をそれぞれスライドを分けて説明。



Wwiseでのローカライズについても説明があり、新規言語の追加の際に同一ファイル名の素材を準備すれば、インポート時にローカライズ音声として設定するだけで作業が完了する。

また、「Wwiseの裏ワザ」として紹介されたのは、元のオーディオソースが2chの場合にLFEを作成する手法です。これはLFE用のAuxBusを追加し、AuxBuxにMatrix Reverb,Parametric EQ,Gainの3つのエフェクトをインサートして用いるという手法で、Matrix Reverbではリバーブタイムを最小にした上でProcess LFEにチェックを入れ、EQではローパスフィルターで低音だけを残します。最後にWwise GainでLFEへの信号レベルだけを取り出し、5.0成分をミュートすることで、純粋にLFEソースを取り出すことが出来ます。こうして出来たAuxに2chオーディオアセットをセンドすると、結果的にLFEだけを抽出できる事になります。


続いて、1つのリバーブで部屋の大きさの変化に対応する手法について説明がありました。RoomSizeやMIX/DRY、EarlyRefrectionなどをRTPCに割り当て、イベントでまとめてパラメータを変更すれば、プログラマ側は「SET_ROOM_REVERB」といったイベントを読みだすだけで動的な音響制御が可能です。デモでは事前に用意されたリバーブを切り替えて再生し、実際にRTPCで挙動している部分も確認が出来ました。


最後に、Wwiseの自由度の高さを象徴する自社開発製のプラグインの紹介がありました。WwiseはPlugin SDKが提供されているため、このようにオリジナルのプラグインを搭載可能です。標準プラグインやサードパーティ製のプラグインでもかなりのレベルまでは対応出来ますが、提供プラグインの組み合わせでも再現できないものなどは自分達で作り出す必要があったと中西氏は語ります。ここでは「無線エフェクトプラグイン」と「ダウンミックス&ダイナミクスレンジコントロールプラグイン」の2つが紹介されました。


Distortion/EQをセットにしてPreset切替をRTPCで行い、キャラクターのボイスが無線機で喋っているように段階的に変化する無線エフェクトプラグイン。


ダイナミクスコントロールを行うダウンミックス&ダイナミクスレンジコントロールプラグイン。

このダウンミックス&ダイナミクスレンジコントロールプラグインは最終段となるマスターに挿すプラグインで、フルダイナミクスレンジで制作を行った後に、家庭用やアーケードなどプラットフォームに合わせてレンジを圧縮するために使用します。原理としてはコンプレッサーではなくAuto Faderで、音の小さいところを自動的に検知して持ち上げる、音の大きいところは何もしない、という処理を行う事で音のなまり(一般的にコンプ感と呼ばれるもの)を防ぎつつダイナミクスレンジを圧縮する事が可能です。また、サラウンドから2MIXステレオへのダウンミックスに際しても、ダイナミクスレンジや左右の広がり感、低音のミックス具合を調整したりと重宝するそうで、中西氏いわく「このまま販売しても良いクオリティなので、今後の展開次第では(プラグインとしての販売を)検討したい」とのコメントもありました。

なお、Tips集では上記の他にもデバックに関する様々なノウハウや、エクセルリストを取り込んだ命名規則の小技などの紹介があり、時間を目一杯に使った非常に実務的かつ情報量が豊富なセッションとなりました。
《神山大輝》

関連ニュース

特集

人気ニュースランキングや特集をお届け…メルマガ会員はこちら