バージョン

menu_open

メディアのマイクロマネジメント

このメソッドは、以下の場合に適しています。

  • ゲームのメモリに保存するアセットが、大量にある。

  • サウンドデザイナーが、ゲームのメディア要件を事前に予測するのが困難である。

  • あるイベント用に再生するサウンドやを決めるのに、SwitchやStateを活用するプロジェクトである。

  • サウンドを、定義されたセクションに簡単に分割することができない。

中には非常に複雑なゲームもあり、サウンドやモーションをトリガーする時に様々な要因が関与し、例えば、ゲームに出てくる素材、ゲーム内の時間、ゲームオブジェクトの動き、さらにオンラインマルチプレイヤーゲームの場合は、他のプレイヤー達のアクションまでもが、関係することもあります。イベントベース、またはオブジェクトベースの環境では、サウンドをロードするタイミングを、他のゲームオブジェクトとの距離関係に基づいて決めることができます。例えば、ロードする複数のSoundBankのリストを、ゲームオブジェクトごとに設定して、そのゲームオブジェクトが一定の範囲内にある時、または単にゲーム中で存在する時に、これらのSoundBankをロードするのも、1つの方法です。

また、SwitchやStateによって、再生するオブジェクトが変わります。オブジェクトを再生させるイベントを、SoundBankに追加する時に、再生される可能性のある全てのメディアも自動的に追加されます。例えば、「Play_Footstep(足音を再生)」という1つのEventがあるとします。Switchの切り替えによって現在の地面素材が指定され、これに基づいてイベントが適切なサウンドを再生します。この方法は確実ですが、例えば、ゲームプレイがロンドンのビルの中で進行しているのに、「footstep_sand.wav(砂の足音)」や「footstep_winter.wav(冬の足音)」などのサウンドをメモリに入れておくことは、無駄になりかねません。

この場合、メモリを無駄使いしないために、1つのSoundBankにEventやオブジェクト構造を追加し、次に各SoundBankにどのオブジェクトを入れるのかを指定します。例えば、様々な地面の上の足音の例を考えて見ましょう。この場合、以下のSoundBankを作成します。

  • 「EventBank(イベントバンク)」: 「Play_Footstep」のイベントと構造を入れたバンク。

  • 「Winter_Footstep_bank(冬の足音バンク)」: ゲームの一部(冬)だけで発生する足音用のメディアを入れたバンク。

  • 「Desert_Footstep_bank(砂漠の足音バンク)」: ゲームの一部(砂漠)だけで発生する足音用のメディアを入れたバンク。

  • 「Common_Footstep_bank(一般足音バンク)」: どこでも発生する足音(床板、コンクリートなど)用のメディアを入れたバンク。

メディアをマイクロマネージ(細かく分別)するSoundBankを、Wwiseで作成する

例えば、ゲームに3種類の地面があるとします(雪、砂、コンクリート)。Wwiseでは、Switch Containerを1つ設定して、Switch「ground_texture(地面素材)」に従い、3つのRandom Containerの1つを、再生します。3つのRandom Containerには、指定された地面の足音サウンドとして、それぞれに4種類のサウンドが入っています。

メディアをマイクロマネージ(細かく分別)するSoundBankを、Wwiseで作成するには:

  1. "EventBank"というSoundBankを1つ作成して、SoundBank Editorにロードする。

  2. イベント"Play_Footstep"を、SoundBank Editorの、Addタブにドラッグする。

  3. 本イベントのMedia列のチェックボックスを外し、Events列とStructures列のチェックボックスは、選択したままにします。

  4. 3種類の地面素材に対して、SoundBankを1つずつ作成する。

  5. 3つのSoundBankに、それぞれの地面素材に関連するRandom Containerを、1つずつドラッグして入れる。

    [注釈]注釈

    3つのRandom Containerをドラッグ&ドロップする代わりに、個々のサウンドをドラッグ&ドロップして入れることもできます。ただし、コンテナを使うと、コンテナの中身が変更されても、コンテナ内のサウンドが全て自動的にSoundBankに追加され、マニュアル操作で変更点を修正しなくて済む、というメリットがあります。

  6. 地面素材の3つのサウンドバンクはそれぞれEvents列とStructures列のチェックボックスを外し、Media列のチェックボックスだけを選択したままにします。

  7. これらのSoundBankを生成して、生成されたSoundBankフォルダを、ゲームアプリケーションにコピーする。

    この時点で、バンクは合計4つあり、最初のSoundBankの中に、再生するオーディオに関するイベント(Event)データと構造(Structure)データがあり、それ以外の3つのSoundBankには、それぞれ1つの地面素材に関連するメディア(Media)だけが入っている。

統合

統合の詳細についてはWwise SDKドキュメントのMicromanaging Mediaをご覧ください。

その他

ここでは具体的な例を1つあげましたが、このテクニックは他にも多様な使い方があります。SoundBankごとに入れるオブジェクトやEventを1つずつ決めるため、すべてのSoundBankの中身を完全にコントロールできます。なお、ゲームの全てのオブジェクトに対して、SoundBankを1つずつ作成することもできますが、新しいサウンドやができるたびに、そのSoundBankをゲームの適切な場所でロードするために、新たなコードが必要となり、常に維持するのが非常に難しくなります。どのゲームでも、設定の細かさと、ゲームへの実装のしやすさの間で、ちょうど良いバランスを見つけることが最終目的となります。

[注釈]注釈

サウンドを1つ1つロードする方法を検討しているのであれば、SoundBank全体をロードするのではなく、Eventの準備機能の方が、適しているかもしれません。イベントのプリペアについては「アクションイベントをプリペアする(Prepare Event方式)」を参照してください。

メディアをマイクロマネージするメリットとデメリットを、下表に示します。

メリット

デメリット

メモリ使用の最適化には、最も適している。

ゲーム中のどの時点に、どのメディアをロードするのかを、完全にコントロールできる。

ほかより大きくなりがちなメディアSoundBanksで、 「SoundBankの後方互換性」を確保できる。

どのSoundBankをいつロードするのかを判断するには、サウンドデザイナーとゲーム開発者の間で緊密な連絡が必要となる。


このページはお役に立ちましたか?

サポートは必要ですか?

ご質問や問題、ご不明点はございますか?お気軽にお問い合わせください。

サポートページをご確認ください

あなたのプロジェクトについて教えてください。ご不明な点はありませんか。

プロジェクトを登録していただくことで、ご利用開始のサポートをいたします。

Wwiseからはじめよう