버전

menu_open
Wwise Unreal Integration Documentation
에디터 통합

에셋 동기화

Wwise Unreal 통합이 이제 기본적으로 Content Browser에 있는 Unreal 에셋을 Wwise 프로젝트와 자동으로 동기화합니다. 이러한 에셋은 'Wwise Sound Data 폴더'에서 생성되며 Integration Settings에서 구성할 수 있습니다.

참고: 빈 Virtual Folder를 생성할 경우 폴더 안에 에셋이 들어가지 전까지 Unreal Content Browser에 반영되지 않습니다. 마찬가지로 Wwise에서 Virtual Folder를 삭제하더라도 모든 Unreal 에셋은 삭제되지만 폴더 자체는 삭제되지 않습니다.

WAAPI를 사용하면 Wwise에서 오브젝트가 생성될 때마다 해당 Unreal 에셋이 생성됩니다. 이와 마찬가지로 Wwise 프로젝트의 이름을 변경하고, 삭제하고, 계층 구조를 변경하거나, 이동할 경우 변경 내용이 Unreal Content Browser에 바로 반영됩니다. WAAPI가 비활성화되어있을 경우 이 동기화 작업은 Wwise 프로젝트가 저장될 때 진행됩니다.

WAAPI가 활성화되어있을 경우 Unreal Content Browser에서 Wwise 프로젝트를 제어할 수도 있습니다. 예를 들어 Unreal Content Browser의 알맞은 폴더에서 새로운 AkAudioEvent를 생성할 경우 해당 오브젝트가 Wwise 프로젝트에도 생성됩니다. Wwise 관련 에셋은 Wwise Sound Data 폴더에서 해당 오브젝트 타입을 나타내는 하위 오브젝트에서만 생성할 수 있습니다. Unreal 에셋을 이동, 삭제, 이름 변경할 경우에도 Wwise 프로젝트에 변경 내용이 즉시 반영됩니다.

자동 에셋 동기화를 사용하지 않으려면 Integration Settings에서 이 기능을 비활성화할 수 있습니다.

Force Asset Synchronization 사용하기

Force Asset Synchronization(에셋 강제 동기화) 기능은 Level Editor 창의 Build 메뉴 아래 있습니다.

이 기능은 디스크 상의 Wwise Project 폴더에 있는 Work Unit 파일을 파싱하며 새로운 Wwise 아이템을 Unreal에 추가합니다. Wwise Authoring 애플리케이션에서 저장되지 않은 변경 사항은 이 기능을 통해 반영되지 않습니다.

Automatic Synchronization이 구현되는 방식

에디터를 열 때

에디터가 Asset Registry에 필요한 모든 에셋의 스캔을 끝내면 통합이 Wwise 프로젝트의 Work Unit 파일을 스캔하여 해당 Wwise 에셋을 생성, 이름 변경, 이동, 삭제합니다. 이때 모든 Wwise Asset의 로컬 캐시가 구성되어 사운드 데이터 가져오기 정의 파일이나 WAAPI 명령 인자를 생성할 때 Event, AuxBus, SoundBank의 쿼리가 신속히 진행되도록 해줍니다.

참고: 스캔 과정이 Work Unit 파싱에 실패할 경우, 모든 Work Unit이 수정될 때까지 에셋 삭제를 건너뛰게 됩니다.

에디터를 실행 중이지만 WAAPI가 비활성화된 경우 Wwise에서 Unreal을 동기화하는 법

Wwise 프로젝트를 주시하기 위해 Directory Watcher가 사용됩니다. 워크 유닛은 프로젝트가 저장될 때 파싱됩니다.

WAAPI와 함께 에디터를 실행 중일 경우 Wwise에서 Unreal로 동기화하는 법

Wwise 프로젝트에서 변경된 모든 내용 (생성, 삭제, 이름 변경, 이동)이 Unreal Content Browser에서 실시간으로 반영됩니다. ak.wwise.core.object.nameChanged, ak.wwise.core.object.preDeleted, ak.wwise:.core.object.childAdded WAAPI 콜백을 사용하여 Wwise 프로젝트에서 Unreal로 변경 사항이 올바르게 반영됩니다.

Unreal에서 Wwise 프로젝트로 동기화하는 법 (WAAPI만)

WAAPI에 연결되어 있을 경우 Unreal에서 Wwise 프로젝트로의 동기화도 지원됩니다. 이 동기화는 모든 작업을 지원합니다 (생성, 삭제, 이름 변경, 이동). OnAssetRemoved와 OnAssetRenamed Unreal AssetRegistry 콜백을 사용하여 변경된 에셋을 모니터링하며 WAAPI를 사용하여 Wwise 프로젝트가 변경됩니다.

Event 드래그

에셋 자동 동기화가 비활성화되어있을 경우 Event, Auxiliary Bus, Acoustic Texture, State, Switch, Game Parameter (RTPC), Trigger를 Wwise Picker나 WAAPI Picker에서 Unreal Content Browser로 직접 드래그하여 해당하는 AkAudioEvent, AkAuxBus, UAkAcousticTexture, UAkStateValue, UAkSwitchValue, UAkRtpc, UAkTrigger 오브젝트를 생성할 수 있습니다.

  1. Unreal Editor에서 Wwise Picker를 사용하여 원하는 Wwise 오브젝트로 이동하세요.
  2. Unreal Editor에서 Unreal Content Browser를 사용하여 에셋을 생성하고자 하는 폴더로 이동하세요.
  3. 해당 Wwise 오브젝트를 Unreal Content Browser로 드래그하세요. 그러면 해당 Unreal 오브젝트가 생성됩니다.

Reverb Aux Bus 지정과 RTPC

Aux Bus Assignment Map (보조 버스 지정 맵)

AkLateReverbComponent 에서는 보조 버스를 자동으로 지정할 수 있습니다.it is possible to automatically assign the aux bus 그러기 위해서 Aux Bus Assignment Map이 사용됩니다. 각 쇠퇴(decay) 값에는 해당하는 보조 버스 에셋이 있습니다. AkLateReverbComponent 의 쇠퇴 예상 값이 맵에서의 쇠퇴 값에 대해 확인됩니다. 지정된 보조 버스는 쇠퇴 값이 AkLateReverbComponent 의 쇠퇴 예상값보다 더 높은 첫 번째 보조 버스가 됩니다. 그렇기 때문에 맵에서 쇠퇴 값 X와 쇠퇴 값 Y 사이의 쇠퇴 예상값이 쇠퇴 값 Y와 상응하는 보조 버스에 주어집니다. 쇠퇴 예상 값이 맵에서의 최대 쇠퇴 값보다 더 클 경우 이 값이 Default Reverb Aux Bus에 지정됩니다.

Global Decay Absorption 값은 쇠퇴 예측의 전역적 척도 비율의 역할을 합니다. 이 값은 T60 쇠퇴를 예측할 때 Sabine(사빈) 방정식에 사용될 흡수 상수를 제어합니다. 기본 값은 0.5 입니다.

전역적 잔향 RTPC

AkLateReverbComponent 에서는 AkLateReverbComponent 의 상위 Primitive Component로부터 계산된 값을 사용하여 전역적 잔향 RTPC를 구동할 수 있습니다. 이 RTPC 입력란은 어떤 RTPC가 AkLateReverbComponent 에서의 잔향 매개 변수 예상값을 사용하여 설정될 것인지를 결정합니다. 이 RTPC 에셋 입력란은 이름 입력란보다 우선시됩니다. 지정된 에셋이 없을 경우 이름 입력란에 있는 문자열을 사용하여 RTPC가 설정됩니다. 이름 입력란도 비어있을 경우에는 RTPC가 설정되지 않습니다.

참고: AkLateReverbComponent 가 전역적 잔향 RTPC를 사용하려면 잔향 컴포넌트가 반드시 자매 AkRoomComponent (다시 말해 동일한 Primitive 상위 컴포넌트를 공유하는 AkRoomComponent )를 가지고 있어야 합니다. RTPC 값은 Room ID에서 설정됩니다.

WAAPI Picker

Wwise Unreal 통합은 WAAPI가 활성화된 Wwise Picker에서 Wwise Authoring API를 적극 활용합니다.

참고: 여러분의 장치에서 WAAPI를 활성화하지 않으려면 기존의 Wwise Picker를 여전히 사용할 수 있습니다. WAAPI 연결을 사용할 수 없을 경우 WAAPI 피커가 비활성화됩니다. WAAPI에 연결할 수 있을 경우 기존의 Wwise Picker가 비활성화됩니다.

장치에서 WAAPI 활성화하기에 대한 설명은 Wwise 저작 API (WAAPI) 를 참고해 주세요.

WAAPI 피커는 실행 중인 Wwise Authoring 애플리케이션으로부터 실시간으로 구성됩니다. Wwise에서 변경된 모든 내용은 Wwise 프로젝트의 저장 여부에 상관 없이 즉시 WAAPI 피커에 반영됩니다.

WAAPI Picker는 Wwise Picker보다 더 많은 기능을 활성화합니다. 다음은 제공되는 모든 기능에 대한 개요입니다.

사운드 미리 들어보기

WAAPI Picker는 SoundBank를 생성할 필요 없이 Wwise에서 직접 사운드를 미리 들어볼 수 있게 해줍니다. 그러기 위해서는 프로젝트에서 Event나 Actor-Mixer를 선택한 다음 스페이스 바를 누르세요. 혹은 Event나 Actor-Mixer를 우클릭한 후 Play/Stop을 선택할 수도 있습니다. 재생 중인 사운드를 중단하려면 스페이스 바를 다시 누르거나 우클릭 후 Stop All을 선택하세요.

Wwise Object 이름 변경

Wwise 프로젝트에서 구성 요소의 이름을 직접 변경할 수 있습니다. 그렇게 하려면 WAAPI 피커 창에서 이름을 변경하고자 하는 구성 요소를 선택한 후 F2를 누르세요. 혹은 해당 구성 요소를 우클릭한 후 Rename을 선택할 수도 있습니다. 그런 다음 오브젝트의 이름을 변경하고 Enter를 눌러서 변경을 완료하세요. 이렇게 하면 변경된 이름이 Wwise Authoring 애플리케이션에서 즉시 반영됩니다.

Wwise 오브젝트 삭제하기

Wwise 프로젝트에서 구성 요소를 직접 삭제할 수 있습니다. 그렇게 하려면 삭제하고자 하는 구성 요소를 WAAPI 피커 창에서 선택하고 Delete 키를 누르세요. 혹은 해당 구성 요소를 우클릭한 후 'Delete'를 클릭할 수 있습니다. 이렇게 하면 Wwise Authoring 애플리케이션에 삭제 작업이 즉시 반영됩니다.

디스크에서 연관된 WorkUnit 찾기

WAAPI 피커를 사용하여 구성 요소를 우클릭한 후 'Show in Folder'를 선택하면 파일 안의 오브젝트에 연관된 WorkUnit을 찾을 수 있습니다.

Wwise에서 연관된 오브젝트 찾기

Wwise에 있는 Wwise 오브젝트에 직접 포커스할 수 있습니다. 그렇게 하려면 Wwise에서 포커스하고자 하는 구성 요소를 선택한 후 키보드에서 Ctrl+Shift+1을 누르세요. 혹은 해당 구성 요소를 우클릭한 후 'Find in the Project Explorer'를 클릭할 수도 있습니다. 이렇게 하면 해당 구성 요소가 실행 중인 Wwise Authoring 애플리케이션에서 즉시 포커스됩니다.

반경 시각화

WAAPI가 활성화되었으며 Wwise Authoring Application이 실행 중일 경우 AkAmbientSound 가 선택되면 관련 에셋의 반경이 표시됩니다. Wwise Authoring에서 변경 작업을 할 경우 반경이 실시간으로 업데이트됩니다.

  1. Actor Browser에서 AkAmbientSound 를 선택하세요.
  2. Wwise Authoring Application에서 AkAmbientSound 에 할당된 Event에 연관된 오브젝트를 변경하세요.
  3. Unreal Editor에서 해당 구의 크기가 동시에 변경됩니다.

Wwise Authoring Application이 장치에서 실행되지 않더라도 Unreal에서 감쇠구를 확인할 수 있습니다. Wwise 프로젝트 설정의 SoundBanks 탭에서 Generate Per Bank Metadata File, Generate JSON Metadata, Max Attenuation을 선택하세요. 이제 Unreal Editor에서 SoundBank가 생성되면 Max Attenuation 정보가 모든 UAkAudioEvents 에 추가되며 감쇠구가 레벨 뷰포트에 표시됩니다.

에디터 리스너

이제 Wwise 2017.2.0 버전에서부터 편집 모드에서 한 리스너가 활성화됩니다. 이렇게 하면 예를 들어 위치 지정 음향을 담고 있는 Level Sequence를 올바르게 미리 들어볼 수 있습니다. 이 리스너의 위치는 포커스된 뷰포트의 카메라 위치에 따라 결정됩니다. 여러 뷰포트 사이를 클릭할 경우 에디터 리스너가 한 위치에서 다른 위치로 '건너 뛰게' 됩니다.

또한 이 리스너는 Animation Editor 뷰포트에서도 사용됩니다. 이 리스너는 애니메이션을 작업하면서 3D로 공간화된 모든 사운드를 알맞게 미리 들어볼 수 있도록 해줍니다.

Play in Editor (에디터에서 재생, PIE) 세션을 시작할 경우 이 리스너는 비활성화되며 Camera에 있는 기존의 리스너가 활성화됩니다. PIE 세션에서 빠져나와 Simulatie in Editor (에디터에서 시뮬레이션, SIE) 세션을 시작할 경우 Editor 리스너와 Camera 리스너가 동시에 활성화됩니다. PIE 모드로 전환할 경우 Editor 리스너가 다시 비활성화됩니다.

Testing with Multiple Play In Editor and Wwise Instances

If you are testing multiplayer audio in Unreal, you might want to run separate Play in Editor (PIE) sessions with a separate Wwise instance for each session. One way to do this is through a multiplayer option in Unreal. If you disable Run Under One Process in the Play In Editor Multiplayer Options, each PIE instance uses an independent instance of Wwise. However, be aware that this approach consumes more system resources and might affect perfomance.


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

지원이 필요하신가요?

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

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

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

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

Wwise를 시작해 보세요