レッスン 3
目次
-
-
レッスン
-
ゲームメディアを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保存の手順を説明します。
-
Unityのメニューで、 Audiokinetic > Certification > 301 > Lesson 3 を選択し、 Saving a Decoded SoundBank を選択します。
Save decoded bank 機能を有効にする前に、まずSoundBankが保存されるフォルダを見てみます。生成後のSoundBankを簡単に早く見つけるには、Wwise Authoringツール内でSoundBankを選択し、そこから開きます。そうすれば、このSoundBankは、同じWwiseプロジェクトで生成したものだと確信を持てます。
-
WwiseでLayouts を選択し、 SoundBank を選択します。
-
SoundBank Managerで Region を展開し、 Dungeon SoundBank を右クリックし、 Open Containing Folder (Dungeon.bnk) を選択します。
GeneratedSoundBanksフォルダが表示され、Dungeon.bnkファイルが選択されています。生成されたすべてのSoundBankがここに保存され、ほかにもストリーミング用のファイル各種(WEMファイルフォーマットで保存)があります。
様々なBNKファイルやTXTファイルが入っているほか、English (US) フォルダもありますが、Decoded SoundBanksを保存する場所はまだありません。それではデコードしたDungeonのSoundBankを保存してから、このフォルダをもう一度見てください。
-
Dungeon Audio Environmentシーンで Wwise ゲームオブジェクトを選択します。
-
InspectorのAkBankコンポーネントで Save decoded bank を選択します。
-
Playをクリックします。
SoundBankは初期化のときに保存されるので、シーンを初期化するだけで充分です。
-
ESC を押してWAGメニューを開き、 Play をもう一度クリックしてPlayモードを終了させます。
GeneratedSoundBanksフォルダの中をみると、DecodedBanksというフォルダができています。
-
DecodedBanks フォルダを開きます。
ここに、デコード後のDungeon.bnkというSoundBankがあります。ファイルサイズを見ると、Wwiseで生成した親フォルダのものよりもかなり大きいですが、Vorbisエンコードメディアをすべて解凍した結果です。
これ以降は、DungeonのSoundBankをロードするとき、WwiseがデコードされたDungeon.bnkのSoundBankがDecodedBanksフォルダにあるのを認識し、そちらの方をロードします。そうすれば、Vorbisエンコードメディアを解凍するのにリソースを使う必要がありません。またSoundBanksタブに表示されるDungeonのSoundBankは、ほかのSoundBank同様に専用のメモリアロケーションが適用されていて、PreparePoolメモリプールを使っていません。