목차
Unity에서 Wwise Event를 게시하려면 Wwise가 두 가지 정보를 알아야 합니다.
-
참조된 게임 오브젝트
-
Trigger 메커니즘
특별한 설명이 없는 한, 앞으로 Event는 AkEvent 스크립트를 붙인 게임 오브젝트를 지칭하는 말임을 잊지 마세요. 이 게임 오브젝트는 거리 감쇠, Game Parameter 값, Switch 등을 계산할 때 참조됩니다. AkEvent 컴포넌트에는 다양한 Trigger 방법을 선택할 수 있는 Trigger On 프로퍼티가 있습니다.
301_Campfire 게임 오브젝트를 추가하고 Ambient_Campfire_Play Event를 게임 오브젝트에 붙여 게시한 후 이 이벤트가 3D 공간 안에 배치되는 방식을 이해해봅시다.
Wwise Adventure Game에서 리스너는 Player가 아닌 Main Camera에 연결되어 있기 때문에 모든 사운드는 Main Camera와의 거리를 기반으로 거리를 계산하게 됩니다. |
-
Unity 메뉴에서 Audiokinetic > Certification > 301 > Lesson 1 > Playing your first Wwise Event를 선택하세요.
먼저 301_Campfire Prefab을 찾아서 드래그하여 새로운 오브젝트를 만들겠습니다.
-
Project 뷰에서 'Campfire'를 검색하세요.
'Campfire'는 그냥 Wwise Adventure Game에서 선택할 수 있는 수많은 Prefab과 게임 오브젝트 중 하나라고 보시면 됩니다.
Project 뷰에 목록이 보이지 않는다면 오른쪽 아래 슬라이더를 왼쪽으로 드래그하여 보이게 할 수 있습니다. |
-
301_Campfire Prefab을 Scene View로 드래그하세요.
-
Move 도구('W' 클릭)를 사용해서 Training Area의 바닥에 배치하세요.
이제 씬에 게임 오브젝트를 추가했으니 Event를 붙여 게시할 수 있습니다. 이전에 말씀드린 것처럼 Wwise Picker를 사용하면 Event를 게임 오브젝트에 간편하게 추가할 수 있습니다.
-
Wwise Picker에서 Events > Ambient > General을 열고 Ambient_Campfire_Play를 선택하세요.
-
Wwise Picker에서 Ambient_Campfire_Play Event를 Hierarchy에 있는 301_Campfire 게임 오브젝트로 드래그하세요.
완성했습니다! Ambient_Campfire_Play를 301_Campfire 게임 오브젝트에 드래그함으로써 Event가 Ambient_Campfire_Play에 자동 설정되었으며 Event를 재생하는 데에 필요한 스크립트(AkAmbient와 AkGameObj)가 자동으로 추가되었습니다. 게임이 시작되면 General SoundBank에서 사운드가 로드된 후 Campfire 게임 오브젝트를 참조하여 게시됩니다. 런타임 때 게임 오브젝트를 이동하면 사운드가 게임 오브젝트의 위치를 따라 이동합니다. Play 모드에서 Ambient_Campfire_Play가 잘 통합(integration)되었는지 들어보고 검토해 봅시다. 그 전에 Scene과 Game 뷰를 동시에 볼 수 있도록 레이아웃을 바꿔봅시다.
-
Unity 메뉴에서 Window > Layouts를 클릭하고 2 by 3를 선택하세요.
-
Play를 클릭하세요.
-
301_Campfire 게임 오브젝트를 주시하면서 마우스를 사용하여 Camera를 회전시켜보세요.
301_Campfire 게임 오브젝트와 카메라의 상대적인 위치에 따라 소리풍경에서 사운드의 방향이 달라집니다. AkAudioListener 컴포넌트(Listener)는 Main Camera에 연결되어 있지만 사운드는 게임 오브젝트의 중심에서 방사(emit)됩니다. 그렇기 때문에 상대적 거리와 각도가 가청도에 영향을 줍니다.
-
P를 누르고 (마우스 보이게 하기) Hierarchy에서 301_Campfire 게임 오브젝트를 선택하세요.
또한 Scene 뷰에서 301_Campfire 게임 오브젝트를 선택할 수도 있는데 그럴 경우 301_Campfire 게임 오브젝트의 하위 오브젝트가 아니라 사운드가 게시된 최상위 오브젝트를 선택했는지 반드시 확인하세요.
-
Move 도구('W')를 사용해서 Campfire 게임 오브젝트를 Main Camera로부터 멀어지도록 이동시켜 봅시다.
Ambient_Fire_Campfire Sound SFX가 여전히 3D 공간화(spatialization)를 사용하며 Ambient_Campfire_play 이벤트가 301_Campfire 게임 오브젝트에 게시되었기 때문에, 게임이 계속해서 게임 오브젝트의 움직임에 따라 사운드의 위치를 업데이트합니다. 마지막으로 다음 실습을 위해서 레이아웃을 기본으로 되돌려봅시다.
-
Unity 메뉴에서 Window > Layouts를 클릭하고 Default를 선택하세요.
Wwise Unity Integration 스크립트를 사용하면 (해당 Event를 포함하고 있는) SoundBank를 미리 로드했을 경우 Wwise의 Event를 게임으로 쉽게 가져올 수 있습니다.