버전
menu_open
알림: 고객님의 주요 출시 버전( 2019.2.15.7667 )에 해당하는 최신 설명서로 이동했습니다. 특정 버전의 설명서를 보시려면 Audiokinetic 런처에서 오프라인 설명서를 다운로드하고 Wwise Authoring의 Offline Documentation을 확인하세요.
Wwise Unity Integration Documentation
Unity에서 Wwise 커스텀 플랫폼 사용하기

기본적으로 Wwise Unity 통합은 연결된 Wwise 프로젝트에서 정의한 플랫폼이 모두 기본 이름을 가졌다고 가정합니다. 플랫폼에 새로운 이름을 지정하거나 기반 플랫폼의 여러 가지 커스텀 플랫폼을 정의하려면 C# 스크립트가 필요합니다.

참고: 이 페이지는 SoundBank가 생성되는 하위 폴더의 이름이 플랫폼의 이름과 같다고 가정합니다. 폴더의 이름이 다를 경우 GetPlatformName 메소드가 리턴하는 문자열을 게임의 SoundBank 하위 폴더의 이름으로 사용하게 됩니다.

플랫폼 정의하기

기본 플랫폼을 결정하는 스크립트는 <UNITY_PROJECT_ROOT>/Assets/Wwise/Deployment/Components/AkBasePathGetter.cs 파일 안에 있습니다. GetPlatformName() 메소드에서 볼 수 있듯이 모든 플랫폼의 기본 이름은 이 함수에 의해 리턴됩니다. 사용자가 지정한 플랫폼 이름을 사용하려면 이 부분 클래스를 확장해야 합니다.

예시

이 예시는 iOS 플랫폼의 경우만 다룹니다. 예를 들어 iOS 기반 플랫폼인 아이팟, 아이폰, 아이패드용으로 세 가지 커스텀 플랫폼을 정의하려 한다고 가정합시다.

  1. 먼저 Wwise 프로젝트의 Platform Manager에서 'iPod', 'iPhone', 'iPad' 이 세 가지 플랫폼을 추가하세요. (Wwise의 Platform Manager에 대한 더 많은 정보는 Wwise 설명서에서 Wwise 도움말 > 프로젝트 시작하기 > 플랫폼 관리하기 섹션을 참고하세요.
  2. 그런 다음 Unity에서 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
    }
    참고: platformName을 그대로 놔둘 경우 현재 Unity에서 활성화된 플랫폼의 기본 플랫폼 이름이 사용됩니다.
  3. (a) AkBuildPreprocessor를 확장하는 C# 스크립트를 만들거나 (b) AkBuildPreprocessor 안에 있는 기능을 사용하는 C# 스크립트를 만드세요. 이 파일의 내용은 다음과 같습니다.
    public class WwiseIOSBuildPreprocessor : IPreprocessBuild, IPostprocessBuild
    {
    public int callbackOrder { get { return 0; } }
    string iPodDestinationSoundBankFolder = string.Empty;
    string iPadDestinationSoundBankFolder = string.Empty;
    string iPhoneDestinationSoundBankFolder = string.Empty;
    public void OnPreprocessBuild(BuildTarget target, string path)
    {
    if (target == BuildTarget.iOS)
    {
    AkBuildPreprocessor.CopySoundbanks(true, "iPod", iPodDestinationSoundBankFolder);
    AkBuildPreprocessor.CopySoundbanks(true, "iPad", iPadDestinationSoundBankFolder);
    AkBuildPreprocessor.CopySoundbanks(true, "iPhone", iPhoneDestinationSoundBankFolder);
    }
    }
    public void OnPostprocessBuild(BuildTarget target, string path)
    {
    DeleteSoundbanks(iPodDestinationSoundBankFolder);
    DeleteSoundbanks(iPadDestinationSoundBankFolder);
    DeleteSoundbanks(iPhoneDestinationSoundBankFolder);
    }
    }
  4. 또는 Wwise에서 'iPhone", 'iPod', 'iPad' 이 세 가지 플랫폼의 SoundBank를 모두 생성한 후 폴더를 UNITY_PROJECT_ROOT/Assets/StreamingAssets/Audio/GeneratedSoundBanks로 복사하세요.
  5. Unity에서 iOS 플랫폼용으로 게임을 빌드하세요.
  6. 이제 장치 유형에 따라 서로 다른 SoundBank가 사용됩니다.

이 페이지가 도움이 되었나요?

지원이 필요하신가요?

질문이 있으신가요? 문제를 겪고 계신가요? 더 많은 정보가 필요하신가요? 저희에게 문의해주시면 도와드리겠습니다!

지원 페이지를 방문해 주세요

작업하는 프로젝트에 대해 알려주세요. 언제든지 도와드릴 준비가 되어 있습니다.

프로젝트를 등록하세요. 아무런 조건이나 의무 사항 없이 빠른 시작을 도와드리겠습니다.

Wwise를 시작해 보세요