버전
menu_open
Wwise Unreal Integration Documentation
Reverb Parameter 예측

UPrimitiveComponent 에 연결된 AkLateReverbComponent 를 사용할 경우 Wwise Unreal 통합이 UPrimitiveComponent 의 크기와 모양에 따라 잔향 Aux Bus를 자동으로 지정하는 것을 볼 수 있습니다.

마찬가지로 Wwise Unreal 통합은 UPrimitiveComponent 를 사용하여 특정 잔향 매개 변수를 예측하고 전역적 잔향 RTPC 를 통해 이 매개 변수를 조정할 수 있습니다. 이 튜토리얼은 Global Reverb RTPC를 사용한 Aux Bus 자동 지정과 잔향 효과 매개 변수 예측을 설명해줍니다.

참고: UPrimitiveComponent 는 크기와 모양을 가진 Unreal Component 입니다. 충돌 Component, 브러쉬 Component, 메쉬 Component 등 UPrimitiveComponent 를 기반으로 한 다양한 Component 종류가 있습니다. 더 자세한 정보는 Unreal Engine 설명서를 참고해 주세요.
참고: Reverb Parameter Estimation은 AkLateReverbComponent 의 기능이지만 AkSpatialAudioVolumeAkLateReverbComponent 를 담고 있기 때문에 이 컴포넌트도 해당 기능을 사용할 수 있습니다.
참고: 이 튜토리얼을 시작하기 전에 반드시 Spatial Audio 튜토리얼 준비 를 반드시 완료해야 합니다.

Automatic Aux Bus Assignment

Automatic Aux Bus Assignment(자동 보조 버스 지정)은 사운드 잔향이 특정량으로 쇠퇴하는 데에 걸리는 시간을 측정함으로써 작동합니다. 저희는 이것을 Decay라고 부릅니다. Integration Settings에서 Aux Bus Assignment Map (보조 버스 지정 맵) 을 사용하면 어떤 Decay 값이 어떤 Aux Bus로 매핑되는지를 결정할 수 있습니다.

Integration Settings에 있는 Aux Bus Assignment Map
참고: Integration Settings는 Edit > Project Settings...를 클릭하여 Unreal Project Settings를 열어서 접근할 수 있습니다. 그런 다음 Unreal Project Settings의 왼쪽 패널에서 Wwise 섹션으로 스크롤하고 Integration Settings를 클릭하세요.

맵에서 Decay 키를 설정하기 전에 레벨에 있는 기존 잔향의 예상 Decay 값을 관찰해볼 수 있습니다.

  1. 이미 열지 않은 경우 SpatialAudioTutorialMap을 여세요.
  2. World Outliner에서 Interior_SmallRoom AkSpatialAudioVolume 을 클릭하세요.
  3. Interior_SmallRoom의 Details 패널에서 Auto Assign Aux Bus를 활성화하세요.
  4. Interior_LargeRoom AkSpatialAudioVolume 에 2와 3단계를 반복해주세요.
Interior_SmallRoom과 Interior_LargeRoom에 Auto Assign Aux Bus 활성화하기
참고: Auto Assign Aux Bus를 활성화하면 Aux Bus가 None으로 설정됩니다. 그 이유는 아직 Aux Bus Assignment Map을 설정하지 않았기 때문입니다.

Auto Assign Aux Bus를 활성화하면 뷰포트에서 각 AkSpatialAudioVolume 이 선택될 때 일부 텍스트 정보가 위에 표시됩니다. Interior_SmallRoom은 예상 Decay가 0.37초입니다. Interior_LargeRoom은 예상 Decay가 0.45초입니다. 또한 이 정보는 Reverb Parameter Estimation 아래의 Details 패널에서도 확인할 수 있습니다. 이 값을 사용해서 Aux Bus Assignment Map을 설정할 수 있습니다.

잔향 매개 변수 정보는 뷰포트의 기본 컴포넌트 위에 표시됩니다
잔향 매개 변수 정보는 Details 패널의 Reverb Parameter Estimation 섹션에도 표시됩니다
  1. Integration Settings를 여세요.
  2. 이미 펼치지 않았을 경우 Reverb Assignment Map 섹션을 펼치세요.
    Integration Settings에 있는 Aux Bus Assignment Map
  3. Insert Decay Key 버튼을 클릭하세요.
  4. 값을 0.4로 정하고 Insert를 클릭하세요.
    Decay Key 값을 0.4로 삽입하세요
  5. Insert Decay Key 버튼을 클릭하세요.
  6. 값을 0.5로 설정하고 Insert를 클릭하세요.
  7. Decay 키 0.4 옆에 있는 SmallRoom Aux Bus를 선택하세요.
  8. Decay 키 0.5 옆에 있는 LargeRoom Aux Bus를 선택하세요.
두 개의 새로운 Decay Key와 해당 Aux Bus가 설정된 Aux Bus Assignment Map

Aux Bus Assignment Map을 이렇게 구성하면 0.0~0.4의 Decay 값이 SmallRoom Aux Bus를 생성하게 됩니다. 0.4~0.5의 Decay 값은 LargeRoom Aux Bus를 생성하게 됩니다. 0.5를 초과하는 Decay 값은 Default Reverb Aux Bus를 생성하게 됩니다.

다시 레벨로 돌아가면 Interior_SmallRoom과 Interior_LargeRoom에 올바른 Aux Bus 값이 지정된 것이 보입니다.

Aux Bus가 자동으로 지정됨

Global Reverb RTPC

Aux Bus 자동 지정과 마찬가지로 Global Reverb RTPC(전역적 잔향 RTPC)를 사용하면 Wwise를 통해 잔향 효과의 특정 매개 변수를 자동으로 설정할 수 있습니다. 이 방법으로 Decay, Predelay, HFDamping이라는 세 가지 매개 변수를 설정할 수 있습니다. Integration Settings에서 이 매개 변수를 제어할 RTPC를 설정할 수 있습니다.

Integration Settings에 있는 Global Reverb RTPC

RTPC 구성하기

Global Reverb RTPC를 사용하기 위해서는 Wwise 프로젝트에 세 개의 RTPC를 추가해야 합니다.

  1. Wwise 프로젝트를 여세요.
  2. Layouts > Designer를 클릭하거나 F5 키를 눌러서 Designer 레이아웃을 여세요.
  3. Project Explorer에서 Game Syncs 탭을 클릭하세요.
    Game Syncs 탭을 여세요
  4. Decay, Predelay, HFDamping이라는 세 개의 새로운 Game Parameter를 추가하세요.
  5. 세 개의 새로운 Game Parameter의 Min, Max, Default 값을 다음과 같이 설정하세요:
    1. Decay - Min: 0, Max: 10, Default: 0
    2. Predelay - Min: 0, Max: 1, Default: 0
    3. HFDamping - Min: -1, Max: 1, Default: 0
      Wwise 프로젝트에서 세 개의 새로운 RTPC를 추가하세요
  6. Project Explorer에서 Audio 탭을 클릭하세요.
  7. Master-Mixer Hierarchy 아래 SmallRoom을 더블 클릭하세요.
    1. Property Editor에서 SmallRoom Aux Bus가 열립니다
  8. Property Editor의 Effects 탭을 클릭하세요.
    SmallRoom Aux Bus의 Effects 탭을 여세요
  9. Edit 버튼을 클릭해서 WwiseRoomVerb Effect를 여세요.
  10. Effect Editor에서 RTPC 탭을 클릭하세요.
  11. RTPC 목록에서 Decay Time, Predelay, HF Damping에 대한 입력란을 추가하세요.
  12. 각 매개 변수를 다음과 같이 매핑하세요:
    1. Decay Time: Decay
    2. Pre delay: Predelay
    3. HF Damping: HFDamping
  13. Decay 매핑을 선택하고 곡선에서 기준점을 추가하세요.
  14. 기준점의 X와 Y 값을 0.2로 설정하세요.
    Decay RTPC 매핑
  15. HFDamping 매핑을 선택하고 곡선에서 기준점을 추가하세요.
  16. X 값을 0.0으로, Y 값을 1.0으로 설정하세요.
    HFDamping 매핑
    세 RTPC의 매핑
  17. 목록에서 모든 매핑을 선택하세요.
  18. 매핑 중 하나를 우클릭하고 Copy를 선택하세요.
  19. Property Editor에서 LargeRoom Aux Bus를 여세요.
    LargeRoom Wwise RoomVerb Effect의 Effect Editor를 여세요
  20. Effects 탭을 클릭하세요.
  21. Edit 버튼을 클릭해서 WwiseRoomVerb 효과를 여세요.
  22. Effect Editor에서 RTPC 탭을 클릭하세요.
  23. 비어 있는 RTPC 목록을 우클릭하고 Paste를 선택하세요.

이제 Wwise 프로젝트에서 잔향 매개 변수를 제어할 세 가지 RTPC가 구성되었습니다. 다시 Unreal 프로젝트로 돌아가서 이 RTPC를 Global Reverb RTPC로 사용할 수 있습니다.

  1. Integration Settings를 여세요.
  2. 이미 펼치지 않았을 경우 Reverb Assignment Map 섹션을 펼치세요.
  3. 이미 펼치지 않은 경우 RTPC 하위 섹션을 펼쳐주세요.
    Integration Settings에 있는 Global Reverb RTPC
  4. 새로운 각 RTPC를 해당하는 Global Reverb RTPC로 지정하세요
새로운 세 개의 RTPC가 Global Reverb RTPC로 지정되었습니다

이제 Wwise에 원격 연결하고 Play In Editor(에디터에서 재생)할 수 있습니다. 작은 공간과 큰 공간에서 사운드를 트리거할 때 Wwise에서 RTPC 곡선을 보면 잔향 매개 변수가 어떻게 변경되는지 확인할 수 있습니다.

게임에 의해 구동되는 RTPC

서로 다른 공간 종류에 하나의 잔향 보조 버스 사용하기

Global Reverb RTPC를 사용하면 전체 레벨에서 한 개의 잔향 효과를 사용하고 레벨에 있는 서로 다른 공간에서 이 매개 변수를 동적으로 구동할 수 있습니다.

  1. Wwise 프로젝트에서 DynamicReverb라는 새로운 Aux Bus를 만드세요.
  2. Default 효과 프리셋을 사용해서 이 Aux Bus에 Wwise RoomVerb 효과를 추가하세요.
    Wwise RoomVerb Effect가 있는 DynamicReverb라는 새로운 Aux Bus를 추가하세요
  3. SmallRoom Aux Bus 잔향 효과로부터 DynamicReverb Aux Bus 잔향 효과로 RTPC 매핑을 복사하세요.
  4. Unreal 프로젝트에서 Aux Bus Assignment Map의 모든 입력란을 제거하세요
    1. Environment Decay Aux Bus Map 옆에 있는 작은 삭제 아이콘을 클릭하면 제거됩니다.
  5. Default Reverb Aux Bus를 새로운 DynamicReverb Aux Bus로 설정하세요.

이제 Wwise에 원격 연결하고 Play In Editor(에디터에서 재생)하면 Interior_SmallRoom과 Interior_LargeRoom이 모두 DynamicReverb Aux Bus를 사용하지만 Global Reverb RTPC를 통해 각 공간에서 매개 변수가 자동으로 변경됩니다.

커스텀 Blueprint Class로 Reverb Estimation 사용하기

단일 Aux Bus 작업 과정을 더 설명하기 위해서 단일 공간을 나타내는 Blueprint Class를 제작해봅시다. 이 데모에서는 안으로 걸어다닐 수 있는 간단한 정육면체의 공간을 사용해봅시다. 먼저 공간 안을 볼 수 있는 양면의 재질을 생성해야 합니다.

  1. Content Browser에서 WwiseAssets/SpatialAudioDemo 폴더로 이동하세요.
  2. SpatialAudioDemoMeshMaterial을 우클릭하고 Duplicate를 선택하세요.
    SpatialAudioDemoMeshMaterial을 복제하세요
  3. 새로운 Material Instance를 'patialAudioDoubleSidedMaterial'이라고 하세요.
    새로운 Material Instance의 이름을 SpatialAudioDoubleSidedMaterial로 변경하세요
  4. 새로운 Material Instance를 여세요.
  5. Material Property Overrides 아래 Two Sided를 활성화하세요.
  6. Material Instance를 저장하세요.

이제 데모 재질이 준비되었으니 Blueprint Class를 만들어봅시다.

  1. Content Browser에서 Blueprints 폴더로 이동하세요.
  2. 폴더 안을 우클릭하고 Blueprint Class를 선택하세요.
    새로운 Blueprint Class를 만드세요
  3. Actor를 Parent Class로 선택하세요.
  4. 새로운 Blueprint의 이름을 'BPRoom'으로 지정하세요.
  5. 새로운 BPRoom Blueprint Class를 여세요.
  6. Components 패널에서 Add Component 버튼을 클릭하세요.
    Blueprint Editor에서 Add Component 버튼을 사용하여 컴포넌트를 추가하세요
  7. 검색란에 cube를 입력하고 Cube Component를 선택하세요.
    1. 그러면 정육면체 메쉬가 Static Mesh로 선택된 Static Mesh Component가 생성됩니다.
  8. Details 패널의 Materials 아래에서 Element 0SpatialAudioDoubleSidedMaterial로 설정하세요.
    정육면체의 재질을 SpatialAudioDoubleSidedMaterial로 설정하세요
  9. Components 패널에서 Cube Component를 선택하세요.
  10. Add Component 버튼을 클릭하고 Box Collision Component를 추가하세요.
  11. Box Component를 선택하세요.
  12. Add Component 버튼을 클릭하고 Ak Room Component를 추가하세요.
  13. Box Component를 선택하세요.
  14. Add Component 버튼을 클릭하고 Ak Late Reverb Component를 추가하세요.
  15. Box Component를 선택하세요.
  16. Add Component 버튼을 클릭하고 Ak Geometry Component를 추가하세요.

Blueprint Class의 Component 계층 구조가 다음과 같아야 합니다:

Cube, Box, Spatial Audio Component를 구성하세요
  1. AkGeometry Component를 선택하세요.
  2. Details 패널의 Geometry 아래에서 Mesh Type을 Simple Collision으로 설정하세요.
  3. Acoustic Properties Override 하위 섹션을 펼치고 Acoustic Texture를 Concrete로 설정하세요.
    AkGeometry 매개 변수를 구성하세요
  4. Components 패널에서 Cube Component를 선택하세요.
  5. Add Component 버튼을 클릭하고 Point Light Component를 추가하세요.
    1. 이렇게 하면 공간 안을 걸어다닐 때 시야가 가려지지 않습니다.
      Cube Component에 Point Light를 추가하세요
  6. Cube Component를 선택하세요.
  7. Collision 아래 Collision PresetNo Collision으로 설정하세요.
  8. Box Component를 선택하세요.
  9. Collision 아래 Collision PresetNo Collision으로 설정하세요.
    1. 이렇게 하면 벽을 통과하여 걸어다닐 수 있습니다.
  10. Blueprint를 컴파일 및 저장하세요.
  11. Level Editor에서 Content Browser로부터 BPRoom의 여러 인스턴스를 드래그하세요.
  12. 이 공간을 서로 다른 크기로 만드세요.

새로운 공간 Blueprint를 시험하기 전에 먼저 공간 사이를 변경할 때 재생할 사운드를 추가해야 합니다.

  1. Content Browser의 Blueprints 폴더에서 MyCharacter Blueprint를 여세요.
    Content Browser에 있는 MyCharacter Blueprint
  2. Components 패널에서 Capsule Component를 선택하세요.
  3. Add Component 버튼을 클릭하고 Ak Component를 추가하세요.
    1. 이 컴포넌트는 간단히 'Ak'라고 표시됩니다.
  4. Ak Component의 이름을 SpatialSound로 변경하세요.
  5. SpatialSound Component를 선택하세요.
  6. Details 패널에서 Ak Audio EventPlay_SpatialSound로 설정하세요.
    MyCharacter Blueprint에 Ak Component를 추가하세요
  7. MyCharacter Blueprint의 Event Graph를 여세요.
  8. Event Graph의 오른쪽 아래 있는 Event BeginPlay 노드를 찾으세요.
  9. 가장 마지막에 있는 Set Switch 노드를 드래그하고 'post associated'를 입력하기 시작하세요.
    Set Switch 노드를 PostAssociatedAkEvent 노드와 연결하세요
  10. Post Associated Ak Event (SpatialSound)를 선택하세요.
BeginPlay에서 Spatial Sound를 게시할 논리를 구성하세요

이제 레벨에서 공간을 배치할 수 있게 되었습니다.

  1. BPRoom Blueprint의 여러 인스턴스를 레벨 안으로 드래그하세요.
  2. 공간의 크기를 서로 다르게 조정하세요.
  3. 각 공간의 AkGeometry Component에 있는 Acoustic Texture를 변경하세요.
    1. 레벨에서 공간을 선택하세요.
    2. Details 패널에서 AkGeometry Component를 선택하세요.
    3. Acoustic Texture를 변경하세요.
    4. 레벨의 모든 BPRoom 인스턴스에 이 작업을 실행하세요.
      BPRoom 액터의 서로 다른 인스턴스에서 Acoustic Texture를 변경하세요

이제 Wwise에 원격 연결하고 Play In Editor(에디터에서 재생)할 수 있습니다. 공간 음향이 즉시 트리거됩니다. 다른 공간으로 걸어가면서 알맞은 잔향 매개 변수가 사운드에 적용됩니다.

HFDamping 계산과 Acoustic Texture

HFDamping 값을 예측할 때 AkLateReverbComponentAkGeometryComponent 를 사용하여 어떤 Acoustic Texture가 있는지를 쿼리합니다. 이전 하위 섹션에서는 AkLateReverbComponentAkGeometryComponent 가 동일한 UPrimitiveComponent 상위 계층에 연결되어 있었습니다. UPrimitiveComponent 상위 계층은 Box Component였습니다. 이 구성의 경우 AkLateReverbComponent 에 자매 AkGeometryComponent 가 있을 경우 이 자매 AkGeometryComponent 를 사용하여 HFDamping을 계산하게 됩니다. 하지만 AkGeometryComponent 에 다른 상위 계층이 있을 경우 AssociateAkTextureSetComponent 함수를 사용해서 AkGeometryComponentAkLateReverbComponent 와 명시적으로 연결해야 합니다. 이 마지막 섹션은 이 구성을 설명합니다.

  1. BPRoom Blueprint를 여세요.
  2. Components 패널에서 AkGeometry Component를 Cube Component 위로 드래그하고 마우스 버튼을 떼세요.
    1. 이렇게 하면 AkGeometry Component가 Box Component 대신 Cube Component에 연결됩니다.
  3. AkGeometry Component를 선택하세요.
  4. Details 패널의 Geometry 아래에서 Mesh Type을 Static Mesh로 설정하세요.
  5. 더하기 버튼을 사용해서 Acoustic Properties Override에 입력란을 추가하세요.
    Acoustic Properties Overrides 목록에서 Material을 추가하세요
  6. Material을 SpatialAudioDoubleSidedMaterial로 설정하세요.
  7. Material 옆에 있는 드롭다운 화살표를 클릭해서 Acoustic Texture를 Concrete로 설정하세요.
    AkGeometry 매개 변수를 구성하세요
  8. Blueprint의 Event Graph를 여세요.
  9. Even BeginPlay 노드의 실행 핀을 클릭하고 드래그해 오세요.
  10. 검색란에 'associate'를 입력하세요.
  11. Associate Ak Texture Set Component (AkLateReverb)를 선택하세요.
  12. Texture Set Component 핀 위에 있는 Components 패널로부터 AkGeometry Component를 드래그하고 마우스 버튼을 떼세요.
BeginPlay 함수를 구성하세요

이제 Wwise에 원격 연결하고 Play In Editor(에디터에서 재생)하여 HFDamping 값이 올바르게 업데이트되는지 시험해볼 수 있습니다. 이 구성에서는 Static Mesh가 여러 재질을 가질 수 있으며 이러한 재질을 Acoustic Texture에 매핑하는 AkGeometryComponent 를 가질 수 있습니다. 그런 다음 이 AkGeometryComponentAkLateReverbComponent 와 연결하여 재질이 HFDamping 값을 구동하도록 할 수 있습니다.


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

지원이 필요하신가요?

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

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

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

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

Wwise를 시작해 보세요