レッスン 7

目次

複数のサウンドバンクの活用

多くのビデオゲームはレベル毎に構成されており、特定のレベルのみに関連付けられたサウンドがあります。例えば、最後のゲームレベルが完了した際に、勝利のお祝いのシーンでのみ聞こえる花火のサウンドなどです。プレイヤーがゲームで、そこまで到達していなければ、サウンドをメモリにロードする必要はありません。

本ビルドのCubeデモでは、dcp_the_coreというCubeデモの特定レベルでのみ聞こえる台詞を含むMap Voicesと呼ばれるActor-Mixerオブジェクトがあります。

  1. Map VoicesActor-Mixerを開き、その中に包含されているSound SFXオブジェクトのいずれかを試聴してみてください。

    Map Voices Actor-Mixer内のオブジェクトはdcp_the_coreという一か所のレベルでのみ使用されます。このレベルだけに読み込まれるSoundBankに設定することで、メモリーを効率よく管理できます。

  2. Project Explore内で、SoundBanksタブを選びます。

    これまでのレッスンで使用してきたプロジェクトと違い、本プロジェクトにはSoundBankが1つも含まれていません。ゲームにはそれぞれ最低一つのSoundBankが必要で、それはSoundBankにはオーディオアセットの他に、そのオーディオがどのように再生されるかの情報が含まれているからです。これまでのプロジェクトでは、1つのSoundBankしか使いませんでしたが、今度のプロジェクトでは、ゲームを通して使うメインのサウンド用と、dcp_the_coreという特定ゲームレベルで使うサウンド用の、2つのSoundBankを使います。

  3. Default Work Unit を右クリックし、 New Child > SoundBank を選択します。

  4. このSoundBankをMainと命名します。

    [注釈]

    ゲームプログラマーはゲームエンジンのコードにロードするSoundBankの名前を使うので、あなたのSoundBankの名前が正しいことが非常に重要です。

  5. 同じDefault Work Unit内にDCP_the_coreという名前の別のSoundBankを作成します。

    これで、どのサウンドを、どのSoundBankに含めるのかを指定する準備が整いました。

  6. Wwiseメニューバーで Layouts > SoundBank を選択するか、 F7 を押します。

  7. SoundBank Managerで Default Work Unit を展開します。

    作成した2つのSoundBankが確認できます。

    各SoundBankに、データサイズに関する列があります。現在、どちらのSoundBank値も0ですが、これはSoundBankに何もアサインされていないからです。また、Max Size列に、SoundBankに想定されるメモリ予算値を単位byteでアサインできます。メモリ予算は、しばしばゲーム開発プロセスの初期に決定されますが、開発期間中に変更されることもあります。あなたが使うメモリリソースは、ゲームのグラフィックなどほかの部分に使えなくなるので、自分のメモリ予算を知り、それを守ることが大切です。

    Max Sizeの設定は技術的な制限を設定しているわけではありません。予算を超えた場合の警告を表示するための設定になります。

  8. Main SoundBankのMax Size値を 9,500,000 に設定し、DCP_the_coreのサイズを 6,000,000 に設定します。

    次に、SoundBankにオブジェクトをアサインする必要があります。これまでのレッスンでは、EventやオブジェクトをSoundBankにドラッグすることで、必要なオーディオアセットが自動的にそのSoundBankの一部になるようにしました。

    dcp_the_core レベルのみでトリガーされるEventを特定する必要があります。幸い、レベル専用のEventには、レベル専用であることを示す固有のプレフィックスがつくので、特定は簡単です。

  9. DCPのプレフィックスが付いたEventを全て選択し、DCP_the_core SoundBankへドラッグします。

    [注釈]

    これまでのレッスンのプロジェクトでは、DCP_Music EventがMain SoundBankに入っていたので、ゲームのどのレベルでもMusic Trackを聞くことができました。しかし本レッスンでは、DCP_Music イベントを 、このゲームの最後に使用する特定のゲームレベルがロードされた時だけにロードされる、DCP_the_core SoundBankに入れます。つまり、本レッスン後半で使用するレベルと異なるレベルでゲームをプレイすると、音楽は再生されません。

    DCP_the_coreのデータサイズは、まだ増えていません。SoundBankをまだ生成していなからで、Main SoundBankの中身を入れてから生成します。

  10. 残りの全てのEventをMain SoundBankへドラッグします。

    [ヒント]

    Event ViewerでDefeated_Bauulを選択してからリストの最後までスクロールし、Shiftを押しながら一番最後のEventであるWeapLoadをクリックすれば、必要なEventを全て一回で選択できます。

    次に、どのSoundBankを生成するのかを指定します。

  11. Main DCP_the_core のSoundBank、Windows(Macintoshコンピューターで実行中であれば、Mac)プラットフォーム、言語はEnglishのチェックボックスを選択します。

  12. Generate Selected をクリックします。

    Generating SoundBanksウィンドウが表示され、あなたがSoundBankに追加したばかりのEventを再生するのに必要な全てのオーディオアセットを、システムが発見して変換する進捗状況が示されます。

  13. Generating SoundBanksウインドウを閉じます。

  14. Wwiseツールバーを見て、生成したばかりのSoundBankのプラットフォーム(MacまたはWindows)と同じプラットフォームがPlatform Selectorで設定されていることを確認します。

    SoundBank Managerを見ると、どちらのSoundBankのData Size(データサイズ)も予算を超過していて、Free Space(空きスペース)は赤字の負の数となっているのが分かります。これが、予算範囲内に各SoundBankを収めるために削減しなくてはならない、データのbyte数です。


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