バージョン
Wwise Unity Integration Documentation
|
APKに含まれるAndroid用SoundBankは、LoadBank() API経由で直接アクセスできます。StreamingAssets
フォルダの下にあるSoundBankは、Unityプロジェクトをビルドする時にAPKの Assets
フォルダに含まれます。Low-Level IOがSoundBankへのアクセスをAPKからトランスペアレント(透過的)に扱います。
Low-Level IOはAndroidファイルシステム内のSoundBankファイルも、SDCardなどからアクセスできます。ネーティブファイルシステムをアクセスするためには AkUnitySoundEngine.AddBasePath(YourPath)
を呼び出す必要があります。この新しいパスはデフォルトのAPKファイルよりも優先されます。ファイルの名前が外部パスとAPK内で同じ場合は、外部パスが使用されます。外部ファイルにアクセスできることは、APKのビルド後にDLCを追加したりオーディオコンテンツのパッチを追加したりする場合に便利です。
アプリがバックグランドにある時は AkUnitySoundEngine.Suspend()
を呼び出すことを推奨します。アプリがフォアグランドに戻った時は AkUnitySoundEngine.WakeupFromSuspend()
を使用してサウンドを復活させます。現在これはAkInitializerに実装されていますが、必要に応じてあなたのゲームの別の部分に移動したり複製したりできます。
バックグランドミュージックをAudio BusでミュートするオプションがWwise Authoringにあります。このオプションを使用することでプレイヤー音楽を開始した時にゲームミュージックをミュートすることができます( ゲームミュージックを、プレイヤーのミュージックに置き換える を参照してください)。ただしこのオプションを有効にし、さらにAndroidでUnity Audioを有効にした場合は、このバスを通過する音楽は常にミュートされます。
このためバックグランドミュージックをWwise設定を使用してミュートするのか、それともUnity Audioを有効にするのかを決める必要があり、この2つは互いに互換性がありません。
AndroidプラットフォームでUnityオプションを確認する際にPlayer Settings > Publishing Settings > Split Application Binary, APK Expansion Filesを使ってプロジェクトアセットをバンドルします。これによって拡張子.obbのZipファイルが作成され、ここにSoundBankを含むStreamingAssetsフォルダが入ります。デフォルトのAndroid SoundBankロードサポート機能は、SoundBankがAPKファイルまたはOBBファイルにあるものとしています。
自分で外部でOBBファイルを構築する場合は、 AkUnitySoundEngine.SetBasePath に渡すインナーパスがOBB内のものと同一である必要があるので、注意してください。圧縮されず暗号化されていないOBBファイルでなければ、デフォルトのI/Oシステムで稼働しません。そうでない場合は、OBBをpersistent データパスで解凍する必要があります。オンザフライで解凍するには、解凍のCPU負荷が高すぎます。
または、バンクをメモリ内にロードすることもできます。AkMemBankLoader.csに例があります。このスクリプトは、シーンの開始時点で指定されたSoundBankをロードして、シーンが破壊されるとアンロードするためのものです。この例を利用するには、以下の変更が必要です:
Is
Localized
Bank
オプションを選択する。AkInitializer.cs
で定義したグローバルランゲージが使用されます。2種類の方法、 AkMemBankLoader.LoadNonLocalizedBank()
と AkMemBankLoader。
LoadLocalizedBank()
は、非ローカライズとローカライズ済みSoundBank用に直接コールすることもできます。