バージョン
Wwise Unity Integration Documentation
|
This example demonstrates how to separate certain assets (such as new items or characters) into a DLC asset bundle that is packaged using Addressables.
Before you proceed with this tutorial, do the following:
An Addressables Demo Scene is available on GitHub.
To install the Addressables Demo Scene:
![]() | 警告: Do not select Add package from git URL. If you install the package that way, you cannot open the sample scenes. |
package.json
file in the WwiseUnityAddressablesDemoScene repository.このチュートリアル用に、Wwiseプロジェクトに2つのサウンドエフェクト、1つのイベント、そして1つのSoundBankを用意しました。
![]() | ![]() | ![]() |
AkBankコンポーネントとAkEventコンポーネントのある、2つのGameObject prefabを作成しました: DlcAssetHighImpact、DlcAssetLowImpactです。 これらのprefabは、DLC SoundBankをロードして、インスタンス化されるとサウンドエフェクトを再生します。
また、AddressablesDemoScene、AddressablesSubSceneの2つのシーンを作成しました。 AddressablesDemoSceneはインタラクティブボタンがいくつかある簡単なUnityシーンで、Addressableアセットのロード・アンロードをテストするのに使います。 AddressablesSubSceneはDlcAssetLowImpact prefabだけが入ったシーンです。Addressablesで、Wwiseオブジェクトの入ったシーンをロードするのを、テストします。
![]() | 注記: AddressablesDemoSceneには、ローカライズされたボイスを使い、Wwise Addressablesパッケージでランゲージを切り替える例も入っています。 |
これらのアセットや以下のセクションに記載のスクリプトはすべて WwiseUnityAddressablesDemoScene パッケージにあります。
以下の3つのアセットをAddressableで管理できるように、それぞれのInspectorでAddressableチェックボックスを有効にします。
![]() | 注意: あなたのプロジェクトでUnity Addressablesパッケージを削除すると、全アセットでこのAddressableフィールドが消え、このチェックボックスの状態は、パッケージを再インストールしても保存されていません。 |
これらのAddressableアセットは Addressables Groups ウィンドウを見ると、デフォルトでDefault Local Groupに入っています。
新しいグループを作成するためにはグループウィンドウを右クリックしてCreate New Groupを選択するか、メニューでNew > Packed Assetsを選択します。 DLCアセット用に、次の2つの新しいグループを作成します:
![]() | 注記: 今回の例で追加で作成するのはWindowsプラットフォーム用のSoundBankグループを1つだけですが、一般的には、デプロイ予定の各プラットフォーム用に、それぞれ1つずつ、グループを作成してください。 |
![]() | 注記:
|
Groupsウィンドウで、 Play Mode Script を Use Existing Build に設定し、新しいAddressableパッケージをWwise Build Scriptでビルドします( プロジェクトをビルドする で説明したとおり)。
次にAddressablesDemoSceneを開きます。
このシーンには、2つのボタンがあります
Loading DLC Assets Demo GameObjectを見ると、AssetLoaderオブジェクトが作成されていて、そこにAddressablePrefabLoaderコンポーネントが入っているのが確認できます。
このコンポーネントにはAssetReferenceが入っていて、ここではInspectorで、これをDlcAssetHighImpact Prefabに設定しました。
ゲームを実行して左ボタンを押すと、AddressablePrefabLoaderのLoadメソッドがコールされ、それがDLC_Assetsからロードされ、DlcAssetHighImpact Prefabがインスタンス化されます。 一旦インスタンス化されると、AkBankコンポーネントが、DLC_WwiseData_WindowsアセットパンドルからSoundBankをロードします。
Loading DLC Scene Demo GameObjectを見ると、SceneLoaderオブジェクトが作成されていて、そこにAddressableSceneLoaderコンポーネントが入っているのが確認できます。
このコンポーネントは、AssetReferenceを使って、私たちのAddressablesSubSceneへのレファレンスを保持しています。 このボタンを最初に押すとLoadSceneMethodがコールされ、シーンがLoadSceneAsyncメソッドを使ってロードされ、現在のシーンに追加されます。 もう一度このボタンを押すと、このシーンがアンロードされます。
AddressablesSubSceneにはDlcAssetLowImpact Prefabだけが入っていて、これをインスタンス化するとDLCサウンドバンクがロードされ、それに対応するイベントが再生されます。
このシーンの3つ目のデモは、ランゲージを英語とフランス語で切り替えて、ローカライズされたボイスサンプルを再生するものです。 このデモにはAkWwiseSetLocalizationスクリプトが使われます。緑ボタンまたは青ボタンを押すと、AkAddressableBankManager.SetLanguageAndReloadLocalizedBanksファンクションがコールされ、ランゲージが英語、またはフランス語に変わります。
このファンクションで、以下の操作が実行されます:
これで、AddressablesDemoSceneをビルドして、ボタンをテストしながら、ビルドされたゲームがこれらのアセットをロードしているかを確認できます。
次に、Unityの組込みホスティングサービスを私たちのAddressable DLCアセットに利用できるように、Unityを設定します。これを使えば、プレイヤーをリビルドしなくても、Addressablesを使ったアセットのアップデートをテストできます。
まず最初に、AddressablesDemoSceneをビルドして、期待通りの動きをするかを確認します。 Buildウィンドウで、 Add open scenes ボタンを使ってAddressablesDemoSceneを追加して、ビルドするシーンとして選択します。
次に、Addressables Hostingを設定するために、Toolsメニューからアクセスします。
次にLocal Hostingサービスを作成して、Enableチェックボックスを選択してそれを有効にします。
Addressables Profilesウィンドウを開くために、メニューで選択し(Profile > Manage Profiles)、Editor Hostedという新プロファイルを作成します。
LocalとRemoteを設定します。次に、各Pathを以下のように設定します:
次に、このプロファイルを使えるように、 Editor Hosted を右クリックして Set Active を選択します。
![]() | 注記: Addressablesホスティングサービスの詳細は、 公式ドキュメンテーション を参照してください。 |
DLC_WwiseData_Windowsグループアセットを確認し、そのBuild & Load Pathsが更新されていることを確認します。
Addressable Asset Settingsを開いてBuild Remote Catalogを有効にします。Build & Load PathsをLocalに設定します。
あなたのAddressableアセットを、Wwise Build Scriptを使ってリビルドします。新しいAdressable AssetBundleが、 <Unity Project Path>\HostedData
内に作成されるはずです。
次に、AddressablesDemoSceneをリビルドして、あなたのアセットに正しく対応することをテストします。
Addressables Hostingウィンドウを開き、ゲームを実行しながら、入ってくるリクエストを確認します。ボタンを最初に押したときに、ウィンドウの下にあるイベントログに、リクエストが表示されるはずです。
今度は、Addressablesを使ってDlcAssetHighImpactサウンドをアップデートします。
まず最初に、Wwiseで、サウンドファイルimp_axe_stone_highのピッチ値を調整して、変化がはっきりと分かるようにします。次に、SoundBankを再生成します。
さらに、Addressables Groupsウィンドウで、 Build >Update a previous build を選択します。選択ウィンドウが開くので、AddressableAssetsData/Windows 内の、addressables_content_state.bin ファイルを選択します。
最後に、ビルドされたゲームをもう一度実行します(リビルドはしません)。開いたときに、Addressables Hostingウィンドウにアップデートカタログのリクエストが表示されるはずです。
そして、左ボタンを押すと、サウンドエフェクトが新しいピッチ高さで聞こえるはずです。
Addressablesカタログや、開発サイクルの予定について、さらに詳しく知るには、 公式ドキュメンテーション を確認してください。
![]() | 注記: このチュートリアルで提供するスクリプトは、Addressablesを使ったアセットのロードをテストするための、最低限のものです。 実際にプロジェクトにアセットをロードする際は、よりロバストなソリューションが必要になると考えられます。 さらに質の高い例が、 Unity Addressables Sample レポジトリにいくつかあります。 |