バージョン
デフォルトで、Wwise Unity Integrationは対象Wwiseプロジェクトに設定された全てのプラットフォームにデフォルトの名前が付いているものとします。プラットフォームに別の名前を付ける場合や、ベースプラットフォーム用に複数のカスタムプラットフォームを設定する場合は、対応できるようにC#スクリプトを作成する必要があります。
|
Note: このページでは、SoundBankが生成されるサブフォルダの名前がプラットフォームと同じものとしています。なお、そうでない場合は |
デフォルトのプラットフォーム解消スクリプトの入っているファイルの場所は UNITY_PROJECT_ROOT/Assets/Wwise/Deployment/Components/AkBasePathGetter.cs
です。GetPlatformName()
メソッドに見られるように、全てのプラットフォームのデフォルト名がこのファンクションで返却されます。自分で設定したプラットフォーム名を使いたい場合は、このパーシャルクラスを拡張する必要があります。
この例では、iOSプラットフォームのユースケースだけを見ます。iOSのベースプラットフォーム用に3つの異なるカスタムプラットフォームを用意する場合を考えます: iPod用、iPhone用、iPad用にそれぞれ1つずつとします。
AkBasePathGetter
を拡張するC#スクリプトを作成します。このファイルの中身は、以下のようになります: public partial class AkBasePathGetter { #if UNTIY_IOS static partial void GetCustomPlatformName(ref string platformName) { switch(UnityEngine.iOS.Device.generation) { case UnityEngine.iOS.DeviceGeneration.iPodTouch1Gen: case UnityEngine.iOS.DeviceGeneration.iPodTouch2Gen: case UnityEngine.iOS.DeviceGeneration.iPodTouch3Gen: case UnityEngine.iOS.DeviceGeneration.iPodTouch4Gen: case UnityEngine.iOS.DeviceGeneration.iPodTouch5Gen: case UnityEngine.iOS.DeviceGeneration.iPodTouchUnknown: platformName = "iPod"; break; case UnityEngine.iOS.DeviceGeneration.iPad1Gen: case UnityEngine.iOS.DeviceGeneration.iPad2Gen: case UnityEngine.iOS.DeviceGeneration.iPad3Gen: case UnityEngine.iOS.DeviceGeneration.iPadMini1Gen: case UnityEngine.iOS.DeviceGeneration.iPad4Gen: case UnityEngine.iOS.DeviceGeneration.iPadAir1: case UnityEngine.iOS.DeviceGeneration.iPadMini2Gen: case UnityEngine.iOS.DeviceGeneration.iPadMini3Gen: case UnityEngine.iOS.DeviceGeneration.iPadAir2: case UnityEngine.iOS.DeviceGeneration.iPadUnknown: platformName = "iPad"; break; case UnityEngine.iOS.DeviceGeneration.iPhone: case UnityEngine.iOS.DeviceGeneration.iPhone3G: case UnityEngine.iOS.DeviceGeneration.iPhone3GS: case UnityEngine.iOS.DeviceGeneration.iPhone4: case UnityEngine.iOS.DeviceGeneration.iPhone4S: case UnityEngine.iOS.DeviceGeneration.iPhone5: case UnityEngine.iOS.DeviceGeneration.iPhone5C: case UnityEngine.iOS.DeviceGeneration.iPhone5S: case UnityEngine.iOS.DeviceGeneration.iPhone6: case UnityEngine.iOS.DeviceGeneration.iPhone6Plus: case UnityEngine.iOS.DeviceGeneration.iPhoneUnknown: default: platformName = "iPhone"; break; } } #endif }
|
Note: platformName<> が変更されずそのままの場合は、起動中のUnityプラットフォームのデフォルトプラットフォーム名が使われます。
|
Wwiseで3つのプラットフォーム"iPhone", "iPod", "iPad"のそれぞれのSoundBankを生成する。作成された3つのフォルダを、UNITY_PROJECT_ROOT/Assets/StreamingAssets/Audio/GeneratedSoundBanks</ttにコピーする。
Unityで、ゲームをiOSプラットフォーム用にビルドする。
これ以降はデバイスの種類に応じて異なるSoundBankセットが採用されることになる。