목차
-
강의
![]() | |
|
이 섹션을 시작하기 전에 이전 섹션인 Trigger를 사용하여 SoundBank 로드하기를 반드시 완료해주세요. |
게임 콘텐츠를 구성하는 흔한 방법 중 하나는 시퀀스, 에피소드, 레벨로 콘텐츠를 나누는 것입니다. Wwise Adventure Game도 마찬가지입니다. 현재 Woodlands SoundBank는 Woodlands Trigger 게임 오브젝트 안으로 들어갈 때 로드됩니다.

이 방법은 어떤 게임에서는 잘 맞고 설정하기가 쉬워서 좋을 수 있습니다. 하지만 이 경우 Woodlands SoundBank가 로드되기 전에 그 안에 들어있는 모든 Events가 먼저 게시되지 않도록 해야 합니다. 비슷한 결과를 얻을 수 있는 또 다른 방법은 Scene과 관련된 모든 Event를 담은 SoundBank를 Scene에서 로드하는 것입니다. 이 방법을 쓰면 SoundBank에 관련된 에셋을 아주 효율적으로 관리할 수 있습니다. 그리고 Awake 와 Start 함수가 위치한 Scene의 초기화에 따라 호출되기 때문에 Trigger On 옵션을 사용해서 에셋이 알맞은 순서로 로드되는지 확인할 수 있습니다.

또 다른 장점은 Unity에서 Scene을 언로드할 때 안에 담긴 모든 Event가 중단된다는 점입니다. 이렇게 해서 Woodlands에만 쓰이는 콘텐츠를 해당 씬에 유지함으로써 지역 SoundBank에 관한 모든 Event가 반드시 SoundBank와 함께 시작되고 중단되도록 할 수 있습니다. 뿐만 아니라 적이나 회전 풍차와 같은 Unity 게임 오브젝트를 어떤 것이든 씬에 추가하여 게임 메모리와 CPU 사용량을 보다 효율적으로 관리할 수 있습니다. Unity의 additive scene에 대한 더 자세한 설명은 Unity 문서를 참고해 주세요.
다음 단계에서는 새로운 Woodlands Scene을 추가한 후 이 Scene에 AkBank 컴포넌트를 추가하고 로드해봅시다.
-
Project 뷰의 Scenes 폴더에서 오른쪽 창의 빈 공간을 우클릭한 후 Create로 가서 Scene을 선택하세요.

Scene을 선택하면 새로 추가된 Scene 파일이 나타나며 이름을 변경할 수 있게 강조 표시됩니다.
-
씬의 이름을 Woodlands로 지정하세요.
보통 Project 창에서 Scene을 더블 클릭하면 바로 열 수 있습니다. 하지만 Woodlands Scene을 'L3_1 - Loading SoundBanks using Triggers' 씬과 함께 로드해야 하기 때문에 Hierarchy에서 씬을 추가적으로 열어야 합니다.
-
Woodlands Scene을 Hierarchy 안으로 드래그하세요.

빈 씬을 생성하면 카메라나 라이트와 같은 몇 가지 기본적인 게임 오브젝트가 들어 있습니다. L3_1 - Loading SoundBanks Scene이 주요 씬이므로 이 씬의 Main Camera와 Directional Light를 사용할 것이기 때문에 Woodlands Scene에서 이 오브젝트를 제거해야 합니다.
-
Woodlands 씬에 있는 모든 게임 오브젝트를 선택한 후 우클릭하고 Delete를 선택하세요.

새로운 게임 오브젝트를 만들어서 SoundBank를 로드하는 데에 사용해봅시다.
-
Woodlands Scene 헤더를 우클릭하고 GameObject로 가서 Create Empty를 선택하세요.

-
이름을 Wwise로 지정하세요.
'L3_1 - Loading SoundBanks using Triggers' Scene 안에는 Woodlands Trigger 게임 오브젝트 (이전 섹션인 'Trigger를 사용하여 SoundBank 로드하기'에서 만듬)가 있는데, 이 게임 오브젝트에는 Woodlands Scene에서 사용할 AkBank 컴포넌트가 있습니다.
-
'L3_1 - Loading SoundBanks using Triggers' 씬에서 Woodlands Trigger 게임 오브젝트를 선택하세요.

Inspector에 Woodlands SoundBank를 로드하는 AkBank 컴포넌트가 보이실 것입니다.
-
AkBank 타이틀 바를 클릭한 상태에서 Woodlands Scene 안에 있는 Wwise 게임 오브젝트로 드래그하세요.

그러면 AkBank (프로퍼티 설정 포함)가 Woodlands Trigger 게임 오브젝트에서 제거되며 Wwise 게임 오브젝트에 추가됩니다.
-
Woodlands 씬에서 Wwise 게임 오브젝트를 선택하세요.

이제 Load on 프로퍼티를 변경해봅시다. 플레이어가 Woodlands Trigger에 들어가면 Woodlands Scene 전체가 로드됩니다. 이렇게 AkTriggerEnter에서 SoundBank를 로드하는 대신 Woodlands Scene이 Awake될 때 로드해야 합니다.
-
Load On프로퍼티를 Awake 만 남도록 설정하세요.

또한 Scene이 런타임에서 제거되면 SoundBank도 언로드되어야 하기 때문에 Unload On 프로퍼티를 Destroy로 설정해봅시다. Destroy는 Scene이 언로드되거나 제거되는 것을 말합니다.
-
Unload On 프로퍼티를 Destroy 만 남도록 설정하세요.

Woodlands 씬을 더 이상 변경할 필요가 없기 때문에 Scene을 삭제하겠습니다. 이 씬은 'L3_1 - Loading SoundBanks using Triggers' Scene에서 로드될 것입니다. 먼저 Scene을 저장하세요.
-
Woodlands Scen을 우클릭하여 Save Scene을 선택하세요.

Scene이 저장되면 Woodlands 이름 옆에 있는 작은 별이 사라집니다. 그 다음으로, 이 Scene은 LoadSceneAsyncOnEnter 스크립트에서 로드되기 때문에 이 Scene을 Hierarchy에서 제거해야 합니다. 이 Scene을 제거하지 않으면 중복해서 로드될 것입니다.
-
다시 우클릭해서 Remove Scene을 선택하세요.

Woodlands Scene이 더 이상 Hierarchy 안에 있지 않지만 여전히 Project 탭에서 씬을 찾을 수 있습니다. 이제 LoadSceneAsyncOnEnter 스크립트를 사용해서 Scene을 동적으로 로드하여 Player가 Woodlands Trigger 안으로 들어갈 때 Hierarchy에 다시 나타나 동시에 Woodlands SoundBank를 로드하도록 해봅시다. LoadSceneAsyncOnEnter 스크립트는 Scene을 로드하기 전에 Trigger 안으로 들어오는 Listener Probe를 찾는 사용자 정의 스크립트 입니다.
-
Woodlands Trigger 게임 오브젝트를 선택하세요.

-
Inspector에서 Add Component를 클릭한 후 LoadSceneAsyncOnEnter를 검색하고 더블 클릭하여 선택하세요.

LoadSceneAsyncOnEnter 아래 'WARNING: No Scene name!'이라는 경고 메시지가 뜨는 것이 보이실 것입니다.

스크립트는 Build Settings에 추가된 씬을 자동으로 검색하며 이 입력란과 일치하는 씬을 탐색합니다. 이 문자열(string)이 현재 비어 있기 때문에 경고 메시지가 표시되는 것입니다.
![[참고]](/images/wwise301/?source=wwise301&id=note.png)
Build Settings는 컴파일된 버전의 게임을 만드는 데에 사용하는 설정입니다. Play 모드에 들어가면 바로 여기에서 게임이 로드할 추가적인 씬을 탐색합니다. Build Settings는 Unity 프로젝트 안에 있는 Scene만 추가할 수 있습니다.
-
Scene to Load 프로퍼티에 Woodlands를 입력하세요.

새로운 경고 메시지가 뜹니다. 런타임 때 Hierarchy 안에 없는 씬을 로드하려면 빌드 설정에 이 씬을 추가해서 Play 모드가 감지할 수 있게 해주어야 합니다.
-
Unity 메뉴에서 File로 가서 Build Settings를 선택하세요.

-
Project 뷰에서 Scenes in Build 목록으로 Woodlands Scene을 드래그하세요.

Scene은 목록의 가장 위를 제외하고 어느 위치에나 추가할 수 있습니다. 경고가 나타나지 않는지 확인하고 오타가 있는지 확인하세요. 이제 Woodlands Trigger가 Scene을 로드하도록 변경했습니다.
-
Build Settings 창을 닫고 Play를 클릭하세요.
-
Woodlands로 가세요.

Woodlands Scene이 이제 Hierarchy에 로드된 것을 확인할 수 있습니다.

-
Woodlands Trigger 밖으로 나가 Village 안으로 들어가보세요.

Hierarchy에서 Woodlands Scene이 다시 언로드되는 것을 확인할 수 있습니다. 이제 Woodlands Scene에 오브젝트를 추가해서 플레이어가 Trigger 안으로 들어갈 때 사운드 뿐만 아니라 나무와 폭포와 같은 게임 오브젝트와 더불어 SoundBank가 로드되도록 할 수 있습니다.
-
ESC를 눌러 WAG 메뉴를 연 후 Play를 다시 클릭해서 Play 모드를 종료하세요.