バージョン
menu
|
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でビルドします( Building the Project で説明したとおり)。
次に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をビルドして、ボタンをテストしながら、ビルドされたゲームがこれらのアセットをロードしているかを確認できます。
This section explains how to configure Unity to serve the addressable DLC assets from a remote server. Certain details, such as how you transfer assets from a build path to a remote server, depend on your workflow and the systems you use. The following procedure describes the basic process to use for testing purposes.
To set up addressables hosting:
{Unity Project Path}\ServerData.
今度は、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 レポジトリにいくつかあります。 |