『イモータル・レガシー』のサウンドデザイン - パート2

ゲームオーディオ / スペーシャルオーディオ / VRエクスペリエンス

 

パート1は、こちらから。

サウンドエフェクトとダイアログ

私たちは、リアルなサウンドエフェクトや色彩豊かなサウンドコンテンツを通して没入感を深めていこうと考えました。そこでフットステップ素材やコリジョン素材を何種類もデザインしてSwitch機能でシーンに応じて切り替えることにしました。また、1つのサウンドに対し複数のサンプルを用意したRandom Containerを多数使いましたが、サンプルをできるだけ最適化してからWwiseにインポートすることで、Wwise側で必要になるプラグインの数を抑えて、CPU負荷を軽減しました。

フットステップ素材(Footstep Material)のグループ

 

ダイアログに関しては、Wwiseの内蔵ランゲージシステムのおかげで複数の言語のアセットを簡単に適用して管理できました。ただランゲージによってプレイヤーのエクスペリエンスや再生長さなどにばらつきがでないように、やはりほとんどの場合、ローカライズしたボイスを一旦DAWにインポートして、そこでトリミングやレンダリングをしました。

 

 

AIシステム(中国語)   

 

AIシステム(英語)

 

 

AIシステム(日本語)

最終的に、どの圧縮フォーマットをWwiseで使用しても、ゲーム側が元のファイルのMarker情報を問題なく読み取ってくれました。ダイアログラインを呼び出すのに、これは非常に便利で、私たちの作業もだいぶ楽になりました。

 

ダイナミックミュージック

一般的にVRゲームは、ほかのプラットフォームゲームと比べて長さが短く、『イモータル・レガシー』の音楽も合計約30曲と多くありません。ダイナミックミュージックシステムを使うのはそのうち半分ほどです。私は、特別処理が不要な一部のカットシーン音楽やアンビエント音楽は、Interactive Music HierarchyではなくActor-Mixer Hierarchyに入れて、SFXのように扱うことに決めました。場合によって、Actor-Mixer HierarchyのSource Editorを使った方が、目的を達成しやすいこともあるのです。分かりやすい例を紹介すると、Menu_Musicという音楽があり、再生するときは毎回、Point Aからスタートし、次に無限にPoint BとPoint Cの間をループさせる必要があったとします。以下のスクリーンショットで示すように、Actor-Mixer Hierarchyにループポイントを設定すればいいのです。これだと音楽のテンポに合わせて操作することはできませんが、考え方が非常にシンプルなので、適切な長さのクロスフェードを設定すれば、あとは完璧になるまで調整すればいいだけです。

Source Editorで見たループ部分

一方、ダイナミックミュージックとして処理しようとすると、ここで求める結果を得るには、もう一度インポートして該当するセグメントにコピーしない限り、Transition機能に頼るしかありません。具体的には:

まずA-Bセグメントを第1小節の直前に設定して、これを音楽全体の「プリエントリ」とします。

 プリエントリ(エントリー前)

次に、一定のTransitionルールを設定したうえで、Point BとPoint Cの間を無限にループさせます。

 Transitionのルール1

 Transitionのルール2

 

ここで、「Any」から「Menu_Music」への遷移と、「Menu_Music」から「Menu_Music」への遷移が、互いにコンフリクトしないことに注目してください。以下を設定できました:

1. Menu_Musicに切り替わるときは、必ずPoint Aから再生を開始します。

2. Menu_Musicから、同じMenu_Musicへと切り替わるときは、A-Bセグメントを再生しません(例えばPoint Cから、Point Bに戻るときなど)。

なおこの例は、音楽をダイナミックミュージックとして処理しないのであれば、Interactive Music Hierarchy下に入れる必要がないということを見せるためのものです。静的な音楽の場合は、Actor-Mixer Hierarchyの方が効率的なこともあります。

『イモータル・レガシー』全体のリニアな性質からして、複雑なデザインテクニックはあまり使っていません。このゲームの音楽に一番多く使った方法は、「横型」のセクションと、「縦型」のレイヤをつくることでした。横型に音楽をセグメントに分ければ、例えばStateに合わせてトランジションさせたり、組み合わせたりできます。また縦型に音楽の中身、例えば楽器やボイスなどをベースに、複数のレイヤをつくれば、RTPCを通してレイヤを切り替えたり、重ねたり、遷移させたりできます。Fightミュージックを例に説明します。この音楽を3つのフェーズに分け、PreFight(ファイトエリアに入場)、Fight(ファイト中)、End(ファイト終了)としました。それぞれのフェーズの音楽は、1つ以上のMusic Trackから成ります。同時に、Fightミュージックには2つのバージョンがあります。ゲームがPreFightフェーズからFightフェーズに切り替わると、設定されているPresetの確率に従い、1つのバージョンがランダムに選ばれます。そしてEndフェーズに切り替わるときは、Fightフェーズで再生中の音楽のバージョンに基づいて、該当する退場のトラックが呼び出され、音楽が停止します。

 

ダイナミックミュージックのデモ

音楽自体の全体のロジックは複雑ではありませんが、フレーズを切り替えるときに明らかな途切れが発生しないように、Transition設定を最適化する必要がありました。

Music Transitionのルール1

また、ゲーム中の別のFightミュージックでは、2つのMusic Track間を切り替えるのに縦型のレイヤを使い、特定条件がそろったときのボリュームの比率を設定しました。

作曲段階で、希望する音楽のインポート方法や分割の仕方を考慮した綿密な計画を確立させておくために、コンポーザーとWwiseエンジニアが協力することが非常に重要でした。

ミキシング

個人的に、ミキシングこそゲームオーディオ制作のなかで一番難しくハードルの高い部分だと思います。欲しいと思う結果を得るには、常にフィードバックや自分たちの要件に従いWwiseのプロジェクト設定を調整する必要があります。コンピュータ上のテストに加え、SoundCasterでも直接、リミットのテストを効率的に行えます。ソニーのSCEプラグインはPSVR内でカプセル化されたlibAudio3dオーディオエンドポイントを通して、ダウンミックス動作を実施するので、私たちはSulphaと組み合わせてPCで正しい音をテストしました。また、問題箇所を正確に洗い出して素早く解決するのに、Profilerと、Voice Monitorを使うことも重要でした。ダッキングやサイドチェインなどよくあるミキシング方法に加え、『イモータル・レガシー』のプロジェクトでは、特定の目的のためにユニークなサウンドエフェクトも取り入れました。例えば、ゲーム中にNPCのメッセージを再生する携帯ボイスレコーダーがいくつかあります。このようなダイエジェティック情報のダイアログを再生するとき、重要情報がプレイヤーに確実に伝わるように、通常はほかの音をダッキングやサイドチェインで小さくします。しかし私たちは明らかに合成処理だと分かる方法を使いたくなかったので、VRゲームのインタラクティブ性を活用しました。キャラクターモデルの頭にリスナーをアタッチしてあるので、ボイスレコーダーの減衰(Attenuation)を、1ユニットで強調しました。

ボイスレコーダーのAttenuation設定

プレイヤーは、ボイスレコーダーを拾い上げて耳に当てれば、再生内容をはっきりと聞けます。そして頭からボイスレコーダーを離すと、ボリュームが急激に小さくなります。このように、プレイヤーは自由にボイスレコーダーの声を聞いたり、ゲーム内のほかの音を聞いたりできます。

 

ボイスレコーダー

バスでは、一部のエフェクトに細心の注意をはらいながらHDRを適用し、全体的なダイナミックレンジを制御するのにHDRパラメータを使いました。VRゲームの多くはメイン出力デバイスとしてヘッドフォンを推奨していますが、それ以外の出力デバイス、例えばテレビやホームシアターシステムが、度外視されているわけではありません。私たちはダイナミック性の観点で、ゲームの出力デバイスを、ヘッドフォン、テレビスピーカー、そしてホームシアターサウンドシステムに分けて考えました。アウトプットタイプ別に適切な値を設定し、Wwise内でGame Parameterにつなげました。バスコンプレッサやHDRのパラメータ、そして一部のバスのMake-up Gainまでも、プレイヤーの選択をもとにRTPCで制御するので、私たちは全体のダイナミックレンジを管理できました。ただ、プレイヤーが出力デバイスとしてテレビを選択した場合は、スピーカーのダイナミックレンジが限られていることが多いので、音質はメーカーによってまちまちです。テレビのアウトプットのダイナミックレンジを制限して、ほぼすべての音がはっきりと聞こえるようにするのは、非常に難しいことです。バスでは、McDSP ML1プラグインをエンドポイントコントローラとして使いましたが、こちらの方がWwiseの標準Limiterよりもうまくいきます。WwiseのMcDSP ML1プラグインは、ML4000のML1と多少異なり、オーバーロードシグナルのクリッピングディストーションに対し、コントロールが改善されています。ある意味、バスのリミッタとして使えるだけでなく、マキシマイザーとしても利用できます。

 McDSP ML1

プロジェクト設定と最適化

VRゲームは、リソース負荷が高いものです。また、ソニーがフレームレートの要件を厳しく設定しています。そこで、ゲームプロジェクト全体の最適化が特に重要になります。多くの場合、オーディオ面では妥協して、アニメーションやプログラム機能の処理にCPUリソースを空けておく必要があります。『イモータル・レガシー』では、エンコードにATRAC9フォーマットを採用しました。ATRAC9はソニー独自のフォーマットだけあって、PlayStationデバイスのハードウェア対応がしっかりしています。CPUやメモリ消費をかなり減らすことができました。下図を見ると、ATRAC9の最上級の設定と、VorbisのQ8設定の違いが分かります。

ATRAC9の場合のCPU稼働率

Vorbis Q8の場合のCPU稼働率

ATRAC9の方がVorbisよりCPUコストがだいぶ低くなっていますが、聞いた時のエクスペリエンスには明確な違いはありません。

バス階層を計画する段階では、様々な要因を検討しなくてはなりません。例えば、プロジェクトタイプにふさわしいか、また機能的要件を満たすか、などを考慮します。また、最適化後の段階で、バスのプラグイン設定の方法や、ダッキング設定を検討することも大事です。実際、どのプロジェクトも独特の階層デザインとなるのかもしれません。『イモータル・レガシー』では2つのバスに分け、HRTFのバスと、非HRTF(Non HRTF)のバスをつくりました。


バス階層

これでゲームの3D点音源はすべて、アンビソニックスのパイプラインで処理してから、HRTFプラグインでアウトプットされるようになりました。一方、ミュージックやUI音などの2D音源と、AmbisonicsアンビエンスやQuadアンビエンスなど元々あるチャンネルコンフィギュレーションに従って再生する音は、HRTFプラグインを通さず、元のチャンネル設定に基づいたコンフィギュレーションで再生します。理由は、HRTFプラグインが、音をバイノーラル信号に変換するときに、その3D Position設定に基づいて強制的にダウンミックスするからで、元のチャンネル設定で再生されません。例えば、ステレオサウンドをHTRFプラグインでダウンミックスすると、もともと左チャンネルだけに出現していた音が、右チャンネルからも出てきます。基本的に3Dバスのすべてのサブバスは、チャンネルコンフィギュレーションをAmbisonics 3rd orderに設定しています。2Dバスのオーディオフォーマットは、サウンドエフェクトのチャンネル設定に基づいて、Stereo、またはQuad、またはAmbisonicsを選択しています。HRTFプラグインに関しては、Wwiseがいくつかのサードパーティプラグインを提供していて、Auro 3D、Steam Audio、RealSpace3D、Oculus Spatializer、Microsoft Spatial Soundなどを利用できます。これらのプラグインの基本的な機能は似ていますが、それぞれベンダーのアルゴリズムが違うので、最終的な効果も異なります。『イモータル・レガシー』はPSVRプラットフォームに基づいていて、ソニーはPS SDKに独自Spatial Audio機能であるPS4 libAudio3dという機能セットを入れています。つまりWwise内のSCE 3D Audioプラグインを使い3DサウンドエフェクトをSCE Audio3d Object Pannerを通して出力できますが、このときバスにほかのHRTFプラグインを適用しないようにして、音の冗長性が発生するのを回避します。幸い、WwiseのUnlink機能でリンクを外せるので、プラットフォームごとに必要に応じてそれぞれのプラグインを選択できます。

SoundBankは、最終的にレベルやシーンで分割しました。1つの大きいSoundBankをロードするのではなく、基本のSoundBankと、現在のレベル専用の別のSoundBankを、レベルごとにロードします。ただ多言語のプロジェクトでは、サウンドボイス用のSoundBankを、ほかのサウンドエフェクトから独立させて設ける方が得策です。そうしないとサウンドエフェクトがそれぞれのランゲージフォルダで何度も生成されてしまい、各種SoundBankの合計サイズが不要に大きくなってしまいます。SoundBankの分割方法は、プロジェクトによってまったく変わるかもしれません。SoundBankを細かく分ければ分けるほど、メモリ負荷が減ります。一方、プログラムとのやりとりはもっと複雑になります。そのときの状況に応じて最も効率的なSoundBankの分割方法を探ってください。

ここまでお読みいただき、ありがとうございます。私のブログがお役に立てば幸いです。ご意見やアイディアがあれば、下に自由に投稿してください。それでは『イモータル・レガシー』の最後に出てくるテーマソングでお別れします。どうぞお楽しみください!

 

 

 旋转的罗盘(Revolving Compass
作曲&词:Eddy Liu
演唱:Dubi 
瞳孔在放大天空盘旋着乌鸦
停止了呼吸没有了挣扎
恶魔的咆哮萦绕我却不害怕
黑暗的尽头才是我的家
 
命运的罗盘永远都无法停下
绚丽的花朵总开在悬崖
是谁在这里守护不朽的神话
乌云散却后是否有彩霞
 
破碎的心,耳边靡靡之音
想要看清他却只留下一个背影
抓不住的叫宿命
让我们静静聆听
掉落花瓣
子弹旋转 好像
滴答滴答滴答滴答
It's my Dream
是谁在耳边唱起那段旋律
让我们停止厮杀
回忆却慢慢风化
泪水静止在我的脸颊
回転するコンパス
作詞作曲: エディ・リウ
歌: Dubi


空をカラスたちが舞っている
息を止め、呆然とするわたし
もう怖くない、周りで悪魔が唸っていても
闇の果てが、わたしの居場所なのかもしれない

運命のコンパスは止まらないのか
でも命の花は、いつまでも華やかに
古い神話を守るのは、だれ
暗い雲が散ったあと、再び光がさすのかしら

誰かが、わたしにささやいているみたい
でもあとを追いたくても、影しか残っていない
運命を捕まえることは、できない
だから、目をそっと閉じて、耳をすますと
花びらが落ち
弾丸が飛び
チクタク、チクタク、と聞こえてくる...
それはわたしの夢
懐かしいメロディを口ずさむのは、だれ
もう殺し合いはやめよう
私の思い出は、薄れていき
頬に、凍てついた涙だけが残る

 

このブログは、中国語から英語、そして日本語に翻訳したものです。

エディ・リウ(刘海宜)

オーディオデザイナー/コンポーザー

ZEN SOUND STUDIO

エディ・リウ(刘海宜)

オーディオデザイナー/コンポーザー

ZEN SOUND STUDIO

北京電影学院でサウンドレコーディングの学士を取得し、ニューヨーク大学でミュージックテクノロジーの修士号を取得。ロサンゼルス在住。様々な映画、テレビドラマ、コマーシャルのオーディオプロダクションに関わる。2008年に北京オリンピックの公式映像のオーディオテクニシャンを務める。2016年にロサンゼルス映画祭でベストショートフィルム賞を受賞した『A Hero for a Day』の制作に携わる。これまで関わったゲームタイトルは、『Flight Tycoon』『Witch's Weapon -魔女兵器- 』『Sleeping Gardila』『Kingdoms Mobile』『Realm Defense: Hero Legends TD』『YOUR TOY キミノオモチャ』『Code: Hardcore』『イモータル・レガシー 不滅の禍』など。ゲームオーディオ全般の構築やデザインと、VRオーディオやインタラクティブミュージックの開発を、熱心に追求している。 [p][a href="https://www.zensound.com" target="_blank"]https://www.zensound.com/[/a][/p]

コメント

Replyを残す

メールアドレスが公開されることはありません。

ほかの記事

Planet Coaster - 群衆オーディオ : Crowd Soundboxシステム (PART 2)

Part 1. 拡張できるサウンドへ Part 2. Crowd Soundboxシステム Part 3. 追加レイヤ PLANET COASTER - 群衆オーディオ: PART...

5.9.2017 - 作者 プラネットコースター (Planet Coaster)

Murderous Pursuitsのダイアログや会話のデザイン - パート2

再びジェイミーです。Murderous Pursuitsの会話とダイアログシステムについてのブログの後半です。 もしパート1を読んでいなければ、ここをクリックして読んでみて! ...

17.7.2019 - 作者 ジェイミー・クロス(Jaime Cross)

atmoky Ears ハイパーリアルなWwiseのヘッドフォン用スペーシャルオーディオプラグイン

atmoky Ears...

20.1.2022 - 作者 Markus Zaunschirm

Wwiseで作成するドップラー効果

2.2.2022 - 作者 徐巍

ループを使ってエンジン音をWwiseでデザインする パート1

今回は2回に分けて、車のエンジンで、ループを使用したシンプルなサウンドデザインをWwise Authoringで設定する方法と、オーディオや車の関連情報を紹介します。 ...

21.4.2022 - 作者 アルト・コイヴィスト(Arto Koivisto)

Step Sixteen | UnityとWwiseでステップシーケンサーを作成

はじめに Rogue Wavesのサウンドデザイナー、マットです。Rogue...

1.10.2024 - 作者 マット・スウィーニー

ほかの記事

Planet Coaster - 群衆オーディオ : Crowd Soundboxシステム (PART 2)

Part 1. 拡張できるサウンドへ Part 2. Crowd Soundboxシステム Part 3. 追加レイヤ PLANET COASTER - 群衆オーディオ: PART...

Murderous Pursuitsのダイアログや会話のデザイン - パート2

再びジェイミーです。Murderous Pursuitsの会話とダイアログシステムについてのブログの後半です。 もしパート1を読んでいなければ、ここをクリックして読んでみて! ...

atmoky Ears ハイパーリアルなWwiseのヘッドフォン用スペーシャルオーディオプラグイン

atmoky Ears...