다음 단계에서 이 튜토리얼은 Unity에서 Spatial Audio와 함께 Reflect 플러그인을 사용하는 법을 보여줍니다. 사운드뱅크를 생성하려면 Reflect 플러그인 라이선스가 필요하지만 여전히 Wwise Authoring에 연결하여 사용해볼 수 있습니다.
A. Wwise 프로젝트
Reflect 플러그인과 Acoustic Textures(음향 텍스처)가 있는 Auxiliary Bus를 만들어서 Wwise 프로젝트를 갱신해야 합니다.
- Auxiliary Bus 프리셋과 기본 Acoustic Texture에 접근할 수 있도록 기본 에셋을 가져오세요.
- Project > Import Factory Assets...로 이동하세요
- Reflect and Acoustic Textures를 선택하고 OK를 누르세요.
- Acoustic Texture는 Project Explorer 뷰의 ShareSets 탭에 있는 Virtual Acoustics 폴더 안에 있습니다.
Factory Reflect Acoustic Textures in the Project Explorer ShareSets tab
- (선택 사항) Default Work Unit 아래 있는 Virtual Acoustics 폴더에 커스텀 Acoustic Texture를 추가할 수 있습니다.
- 초기 반사에 사용할 Auxiliary Bus를 추가하세요.
- Master Audio Bus를 우클릭하고 New Child > Presets로 가서 Early Reflection Auxiliary Bus를 선택하세요.
- Spatial Audio 튜토리얼 준비 에 추가된 사운드를 변경하세요
- General Settings 탭에서 Reflect가 있는 새로 만든 Auxiliary Bus를 Early Reflections 상자에 추가하세요.
Sound Property Editor의 General Settings 탭에서 Reflect Auxiliary Bus를 지정하세요
- 프로젝트를 저장하세요.
B. Unity 프로젝트
AkSurfaceReflector 컴포넌트를 사용하여 표면 상에서의 초기 리플렉션을 시뮬레이션할 수 있습니다. 한 가지 방법으로 표면 리플렉터 컴포넌트를 게임에서 기존의 메쉬에 추가할 수 있습니다. 모양이 너무 복잡할 경우 너무 많은 삼각형이 Spatial Audio API에 전달되어 게임이 느려질 수 있습니다. 이 경우 AkSurfaceReflector 컴포넌트 자체에 충돌 메쉬 등의 다른 메쉬를 추가할 수 있습니다. 반사적 표면을 추가하는 또 다른 방법은 바로 새로운 GameObject를 추가하는 것입니다. Wwise Unity Demo Scene에서 제공하는 씬에서는 새로운 오브젝트를 표면 리플렉터로 사용했습니다. 공간이 큐브 모양이기 때문에 메쉬 렌더러가 없는 큐브를 사용했습니다.
- 큐브를 생성하세요 (GameObject > 3D Object > Cube)
- Mesh Renderer 컴포넌트를 제거하세요
- Box Collider 컴포넌트에서 Is Trigger를 선택하세요
- AkSurfaceReflector 컴포넌트를 추가하세요.
- MeshFilter 컴포넌트에서의 메쉬를 사용할 경우 메쉬 매개 변수를 None으로 남겨둬도 됩니다. 그렇지 않을 경우 여기에 원하는 메쉬를 추가하세요.
- Acoustic Textures 배열에서 각 하위 메쉬 (이 큐브는 하위 메쉬가 단 하나임)의 음향 텍스처를 선택하거나 None으로 남겨두어 필터링되지 않은 리플렉션을 사용하도록 하세요.
- Transmission Loss Values 배열에서 각 하위 메쉬 표면의 전달 손실값을 설정할 수 있습니다. 이 값은 메쉬를 통과하는 사운드를 필터링하는 데에 사용됩니다. 더 자세한 내용은 D. Transmission (전달) 섹션을 참조하세요.
- Enable Diffraction 체크 상자를 선택하면 회절을 활성화할 수 있습니다. Refer to E. Associate rooms to Surface Reflectors (Deprecated) for details.
- Lastly, leave Associated Room set to None. 더 자세한 내용은 E. Associate rooms to Surface Reflectors (Deprecated) 섹션을 참고해 주세요.
AkSurfaceReflector component
- 반사의 순서는 Spatial Audio Settings 아래 AkWwiseInitializationSettings에서 설정됩니다
- 기본적으로 반사 Order는 1로 설정되어 있습니다. 최대 4까지 설정할 수 있습니다.
Spatial Audio Init Settings
- 씬에서 반사 경로를 확인하려면 방사체에 AkSpatialAudioDebugDraw 컴포넌트를 추가하세요.
- 표시하고자 하는 반사 순서를 클릭하세요.
AkSpatialAudioDebugDraw 컴포넌트
C. 셋업 검토하기
- Wwise Picker (Windows > Wwise Picker)에서 다음을 실행하세요.
- SoundBank를 생성하세요
Wwise Picker
- 게임을 시작하고 방사체 하나를 재생하세요.
- Wwise에서 게임에 연결하고 Profiler 레이아웃으로 전환하세요. 다음과 비슷한 그래프가 보일 것입니다.
Voice Graph with Reflect Effect
- 그래프의 Auxiliary Bus 노드 아래 강조 표시된 Wwise Reflect를 더블 클릭해서 Reflect Effect Editor를 여세요. 사운드를 재생하면 그래프와 목록에서 현재 리플렉션이 보여야 합니다. Texture(s) 열에 두 가지 텍스처가 있을 경우 이 리플렉션은 2차 리플렉션입니다.
- 여기에서 리플렉션의 감쇠 곡선을 변경할 수 있습니다.
- 리플렉션이 보이지 않을 경우 방사체와 리스너 간의 리플렉션 거리와 비교하여 Max Distance가 충분히 큰지 확인하세요.
Reflect Effect Editor View
- Game Object Profiler Layout으로 전환하세요 (단축키 F12)
- Game Object 3D Viewer Settings에서 Reflection Paths와 Reflection Image Sources가 활성화되었는지 확인하세요.
Game Object 3D Viewer Settings for Reflect
- Game Object 3D Viewer에서 재생 중인 방사체와 공간 음향 리스너 간에 표면 리플렉터와 리플렉션 경로가 보여야 합니다.
Game Object 3D Viewer
| 참고: | 건물 주위에 있는 큐브 모양의 표면 리플렉터를 통해서는 심지어 방사체가 재생 중이더라도 리스너가 밖에 있을 경우 건물 안에 있는 방사체에서 리플렉션 경로를 얻을 수 없습니다. 마찬가지로 리스너가 안에 있을 경우 건물 밖에 있는 방사체에서 리플렉션 경로를 얻을 수 없습니다. 그 이유는 빌딩의 열린 부분이 반사적 표면의 일부이기 때문입니다. 이 문제를 해결하려면 건물의 메쉬를 표면 반사기로 사용하거나 열린 부분 주위에 포털을 배치해야 합니다. 포털에 대한 더 많은 내용은 Room과 Portal 튜토리얼 을 참고하세요. |
- 참고
-