menu
 
버전
2024.1.2.8726

2024.1.2.8726

2023.1.10.8659

2022.1.18.8567

2021.1.14.8108

2019.2.15.7667

2019.1.11.7296

2018.1.11.6987

2017.2.10.6745

2017.1.9.6501

2016.2.6.6153

2015.1.9.5624


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

Unity Addressables에 관하여

The Unity Addressables system uses AssetBundles to package assets separately from the player. 이 시스템은 외부 서버에 외부 에셋이 저장되는 DLC 맥락에서 특히 유용합니다.

If you are new to Addressables, see
Addressables package and Get started with Addressables for essential background information.

The following topics explain how to set up the Wwise Unity Addressables package:

The following sections describe how the Wwise Addressables package works:

Characteristics of the Addressables System

Be aware of the following characteristics of the Addressables system:

  • Addressables을 사용한 에셋 로드하기는 본질적으로 비동기적입니다: 이 부분은 SoundBank 로드하기와이벤트 게시하기가 동일한 트리거에 연결되어 있을 경우에 문제를 일으킬 수 있습니다. 그렇기 때문에 정확한 이벤트 타이밍이 특히 중요할 경우 연관된 Event가 트리거될 수 있기 전에 SoundBank를 먼저 로드하는 것이 좋습니다. Init Soundbank는 씬에 있는 모든 다른 SoundBank 이전에 로드되어야 하기 때문에 특정 사례입니다. Init SoundBank 에셋이 원격으로 업데이트될 경우 Addressables를 사용하여 웹 서버로부터 새로운 Init SoundBank가 반드시 먼저 페치되어야 하기 때문에, 씬이 시작될 때 다른 SoundBanks를 로드하는 데에 약간의 추가 딜레이가 있을 수 있습니다.
  • Addressable 에셋은 씬 안에서 직접 참조되지 않아야 합니다: Addressable 에셋은 Addressables 시스템을 사용하여 씬에서 동적으로 로드되도록 고안되었습니다. 씬에서 직접 참조되는 에셋은 씬의 AssetBundle로 빌드 되며 Addressables를 통해 로드되지 않습니다. 씬에 직접 에셋을 배치하고 또한 이 에셋을 Addressables를 사용하여 패키징할 경우, 해당 씬의 AssetBundle과 Addressable 그룹의 AssetBundle에 각 하나씩 두 개의 다른 에셋 복사본이 존재하게 됩니다.

자주 겪는 문제 & 제한 사항

  • 프로젝트의 모든 플랫폼은 반드시 동일한 루트 Generated SoundBanks Path를 공유해야 합니다.
  • Unity 프로젝트에서 Generated SoundBank Path를 설정할 경우 External Source의 출력 경로가 자동으로 변경되지 않습니다.
  • Decoded SoundBank(디코딩된 사운드뱅크) 저장 및 로드하기가 아직 지원되지 않습니다.
  • Prepared Event(준비된 이벤트)가 지원되지 않습니다.
  • External Source(외부 음원)이 지원되지 않습니다.

Wwise Addressable 샘플

Wwise Addressable Samples 페이지는 Wwise Addressable Asset을 관리하는 데 도움이 되는 코드 샘플에 대한 추가 정보를 제공합니다.

Understanding Wwise Addressable Assets

Wwise Asset Importer (Wwise 에셋 임포터)

The WwiseBankImporter classes process .bnk and .wem files. 이 스크립트는 파일의 이진 파일을 담은 에셋을 생성합니다. 그런 다음 저희 커스텀 에셋인 포스트프로세서 WwiseBankPostProcess가 새로운 에셋을 해당 플랫폼의 Addressables 그룹으로 추가합니다. 각 플랫폼의 Init SoundBank는 자체적인 Addressables 그룹에 추가됩니다. Init Bank가 별도의 장소에 추가되는 이유는 출시 후에 프로젝트가 변경될 경우 (예: 새로운 오디오 버스 추가) 이 뱅크가 다시 반드시 업데이트되어야 하기 때문입니다. Init SoundBank를 자체적인 어드레서블 AssetBundle 안에 패키징하면, 호스팅 서비스로부터 이 에셋의 새로운 버전을 페치하는 데에 걸리는 시간을 최소화할 수 있습니다. 에셋이 추가되는 addressable group과 에셋에 적용되는 레이블을 사용자 지정하려면 Wwise Addressable Samples 페이지를 참조하세요.

SoundBank와 AddressableSoundBank

또한 에셋 포스트프로세서는 프로젝트의 각 SoundBank에 대해 WwiseAddressableSoundBank를 생성합니다. 이 에셋은 플랫폼의 이름을 해당 SoundBank와 스트리밍 미디어 에셋으로 매핑하는 사전(dictionary)을 담고 있습니다.

  • WwiseAddressableSoundBank는 Generated SoundBanks 폴더의 최상위 계층 폴더에 있습니다.
  • WwiseAddressableSoundBank 클래스는 AssetReferenceT를 사용하여 SoundBank와 미디어 파일을 가리킵니다.
  • 프로젝트를 빌드할 때 WwiseAddressableSoundBank의 Current Platfrom Assets 입력란이 대상 빌드 플랫폼으로 설정됩니다.
warning주의:
  • SoundBanks and streaming media referenced in the WwiseAddressableSoundBank are soft references. 이 SoundBank와 스트리밍 미디어는 Addressables를 사용하여 로드되며 반드시 Addressables 그룹 안으로 패키징되어야 합니다.
  • If you delete a WwiseAddressableSoundBank by mistake, you will have to delete and regenerate the SoundBanks it is associated with in order to create a new one and set up its references properly.

Init Bank Holder

Init SoundBank용 WwiseAddressableSoundBank가 생성되면 씬에 있는 WwiseGlobal 게임 오브젝트에 InitBankHolder 컴포넌트가 추가됩니다. 이 컴포넌트는 AddressableBankManager가 쉽게 찾을 수 있도록 WwiseAddressableSoundBank를 저장하는 역할을 합니다.

Addressable Bank Manager

When using Wwise Addressables, the AkAddressableBankManager handles loading and unloading of SoundBanks into memory. 이 클래스는 로딩되고 있고 로드된 AddressableSoundBank로의 참조를 저장하여 Init SoundBank가 항상 먼저 로드될 수 있게 해줍니다. If an AkEvent is triggered before its SoundBank has finished loading, this class stores the triggered call's parameters and retriggers the event after the SoundBank is loaded.

When a SoundBank is loaded, the SoundBank asset that corresponds to the current platform is loaded using Addressables. After it is loaded, the SoundBank data is pinned and a copy of the memory is loaded into the sound engine with AkUnitySoundEngine.LoadBankMemoryCopy().

When in Play Mode in the Unity editor, the AssetDatabase is used instead of Addressables to load SoundBanks synchronously. 비동기적 로딩은 빌드된 게임에서만 시험할 수 있습니다.

info참고:Ensure that you use AkBank to load your SoundBanks instead of manually calling the API.

WwiseBankReference

WwiseBankReference 클래스는 Ak.Wwise.Bank 컴포넌트에 대한 저희의 커스텀 인스펙터에서 사용됩니다. WwiseBankReference는 WwiseAddressableSoundBank로의 하드 참조를 담습니다. 이 참조는 AkAssetUtilities.AddressableBankUpdated 델리게이트를 통해 WwiseAddressableSoundBank Asset이 생성되었을 때에 업데이트됩니다. WwiseBankReferenceWwiseAddressableSoundBank 다음에 생성되면 SoundBanks 폴더에서 Bank 이름과 일치하는 WwiseAddressableSoundBank 에셋을 검색합니다. 일련화된 WwiseBankReference는 Assets\Wwise\ScriptableObjects\SoundBank 안에 저장됩니다.

info참고:게임 오브젝트에 의해 직접 참조되는 에셋은 게임 오브젝트와 함께 패키징됩니다. AkBank Component는 WwiseBankReference로의 하드 참조를 담고 있으며, WwiseBankReference는 해당 WwiseAddressableSoundBank로의 하드 참조를 담고 있습니다. AkBank 컴포넌트가 있는 GameObject를 Addressables 그룹 안에 넣을 경우 WwiseBankReference와 WwiseAddressableSoundBank가 이와 함께 패키징됩니다 (명시적으로 이를 그룹에 추가할 필요 없이).

미디어

Media files (.wem) are also handled by the WwiseBankImporter script. WwiseAddressableSoundBank는 해당 뱅크와 연관된 플랫폼 전용 스트리밍 미디어 에셋으로의 참조 목록을 담고 있습니다. 뱅크가 로드되면 Addressables를 통해 미디어 에셋이 로드되며 Application.persistentDataPath 폴더로 복사됩니다. 동일한 이름을 가진 파일이 이미 폴더에 있을 경우 해쉬가 비교됩니다. 파일이 다를 경우 AssetBundle에서의 파일로 덮어쓰게 됩니다.

warning주의: When working with Microsoft consoles, it is important to add the PersistentLocalStorage field to the MicrosoftGame.Config. We recommend at least 1024mb.

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

지원이 필요하신가요?

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

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

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

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

Wwise를 시작해 보세요