レッスン 3

目次

デコードしたSoundBankを保存する(Saving a Decoded SoundBank)

ゲームメディアをVorbisなどの圧縮フォーマットでエンコードすると、出荷時は比較的小さいフットプリントで出せ、ゲームをロードするときにSoundBankを解凍できます。ただし1つのSoundBank全体をデコードするのはリソースに大きな負荷がかかることがあり、特にゲーム初期化で毎回行うとなると、かなりの負担です。もしゲームをいったんインストールしたあとは保存領域を小さく抑える必要がなければ、AkBankコンポーネントのSave decoded bank機能の活用を検討してください。デコードされたSoundBankを保存すると、デコード後のSoundBankは、DecodedBanksフォルダという、生成後のSoundBankの隣のフォルダに保存されます。AkBankでSave decoded bankを設定すると、SoundBankを探すときにまずDecodedBanksフォルダを見て、そのSoundBankの方がオリジナルよりも新しければ、代わりにそちらをロードします。そうするとSoundBankのロード時にデコードする必要がなくなり、Vorbisエンコードのメディアファイルを解凍するのにリソースを使用する必要がなくなります。

[注釈]

デコード後のSoundBankを保存するのに必要な保存スペースは、SoundBank Managerで予想されるDecoded Sizeにそっています。AkBankでSave decoded bankを有効にする前に、ユーザーが使えるであろう保存領域について考えてください。例えば一般的に、デスクトップやノートパソコンの方がモバイル端末よりもディスクスペースが多いです。

これから、デコードしたDungeon SoundBank保存の手順を説明します。

  1. Unityのメニューで、 Audiokinetic > Certification > 301 > Lesson 3 を選択し、 Saving a Decoded SoundBank を選択します。

    Save decoded bank 機能を有効にする前に、まずSoundBankが保存されるフォルダを見てみます。生成後のSoundBankを簡単に早く見つけるには、Wwise Authoringツール内でSoundBankを選択し、そこから開きます。そうすれば、このSoundBankは、同じWwiseプロジェクトで生成したものだと確信を持てます。

  2. WwiseでLayouts を選択し、 SoundBank を選択します。

  3. SoundBank Managerで Region を展開し、 Dungeon SoundBank を右クリックし、 Open Containing Folder (Dungeon.bnk) を選択します。

    GeneratedSoundBanksフォルダが表示され、Dungeon.bnkファイルが選択されています。生成されたすべてのSoundBankがここに保存され、ほかにもストリーミング用のファイル各種(WEMファイルフォーマットで保存)があります。

    様々なBNKファイルやTXTファイルが入っているほか、English (US) フォルダもありますが、Decoded SoundBanksを保存する場所はまだありません。それではデコードしたDungeonのSoundBankを保存してから、このフォルダをもう一度見てください。

  4. Dungeon Audio Environmentシーンで Wwise ゲームオブジェクトを選択します。

  5. InspectorのAkBankコンポーネントで Save decoded bank を選択します。

  6. Playをクリックします。

    SoundBankは初期化のときに保存されるので、シーンを初期化するだけで充分です。

  7. ESC を押してWAGメニューを開き、 Play をもう一度クリックしてPlayモードを終了させます。

    GeneratedSoundBanksフォルダの中をみると、DecodedBanksというフォルダができています。

  8. DecodedBanks フォルダを開きます。

    ここに、デコード後のDungeon.bnkというSoundBankがあります。ファイルサイズを見ると、Wwiseで生成した親フォルダのものよりもかなり大きいですが、Vorbisエンコードメディアをすべて解凍した結果です。

    これ以降は、DungeonのSoundBankをロードするとき、WwiseがデコードされたDungeon.bnkのSoundBankがDecodedBanksフォルダにあるのを認識し、そちらの方をロードします。そうすれば、Vorbisエンコードメディアを解凍するのにリソースを使う必要がありません。また、Memoryタブに表示されるDungeonのSoundBankは、ほかのSoundBank同様に、専用のメモリアロケーションが適用されていて、PreparePoolメモリプールを使っていません。