3 개의 강의

목차

Scene 단위로 SoundBank 편성하기

[참고]

이 섹션을 시작하기 전에 이전 섹션인 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 컴포넌트를 추가하고 로드해봅시다.

  1. Project 뷰의 Scenes 폴더에서 오른쪽 창의 빈 공간을 우클릭한 후 Create로 가서 Scene을 선택하세요.

    Scene을 선택하면 새로 추가된 Scene 파일이 나타나며 이름을 변경할 수 있게 강조 표시됩니다.

  2. 씬의 이름을 Woodlands로 지정하세요.

    보통 Project 창에서 Scene을 더블 클릭하면 바로 열 수 있습니다. 하지만 Woodlands Scene을 'L3_1 - Loading SoundBanks using Triggers' 씬과 함께 로드해야 하기 때문에 Hierarchy에서 씬을 추가적으로 열어야 합니다.

  3. Woodlands Scene을 Hierarchy 안으로 드래그하세요.

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

  4. Woodlands 씬에 있는 모든 게임 오브젝트를 선택한 후 우클릭하고 Delete를 선택하세요.

    새로운 게임 오브젝트를 만들어서 SoundBank를 로드하는 데에 사용해봅시다.

  5. Woodlands Scene 헤더를 우클릭하고 GameObject로 가서 Create Empty를 선택하세요.

  6. 이름을 Wwise로 지정하세요.

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

  7. 'L3_1 - Loading SoundBanks using Triggers' 씬에서 Woodlands Trigger 게임 오브젝트를 선택하세요.

    Inspector에 Woodlands SoundBank를 로드하는 AkBank 컴포넌트가 보이실 것입니다.

  8. AkBank 타이틀 바를 클릭한 상태에서 Woodlands Scene 안에 있는 Wwise 게임 오브젝트로 드래그하세요.

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

  9. Woodlands 씬에서 Wwise 게임 오브젝트를 선택하세요.

    AkBank 컴포넌트가 이제 Wwise 게임 오브젝트에 추가된 것이 보이실 것입니다.

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

  10. Load On프로퍼티를 Awake 만 남도록 설정하세요.

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

  11. Unload On 프로퍼티를 Destroy 만 남도록 설정하세요.

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

  12. Woodlands Scen을 우클릭하여 Save Scene을 선택하세요.

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

  13. 다시 우클릭해서 Remove Scene을 선택하세요.

    Woodlands Scene이 더 이상 Hierarchy 안에 있지 않지만 여전히 Project 탭에서 씬을 찾을 수 있습니다. 이제 LoadSceneAsyncOnEnter 스크립트를 사용해서 Scene을 동적으로 로드하여 Player가 Woodlands Trigger 안으로 들어갈 때 Hierarchy에 다시 나타나 동시에 Woodlands SoundBank를 로드하도록 해봅시다. LoadSceneAsyncOnEnter 스크립트는 Scene을 로드하기 전에 Trigger 안으로 들어오는 AkAudioListener(Main Camera)를 찾는 사용자 정의 스크립트 입니다.

  14. Woodlands Trigger 게임 오브젝트를 선택하세요.

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

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

    스크립트는 Build Settings에 추가된 씬을 자동으로 검색하며 이 입력란과 일치하는 씬을 탐색합니다. 이 문자열(string)이 현재 비어 있기 때문에 경고 메시지가 표시되는 것입니다.

    [참고]

    Build Settings는 컴파일된 버전의 게임을 만드는 데에 사용하는 설정입니다. Play 모드에 들어가면 바로 여기에서 게임이 로드할 추가적인 씬을 탐색합니다. Build Settings는 Unity 프로젝트 안에 있는 Scene만 추가할 수 있습니다.

  16. Scene to Load 프로퍼티에 Woodlands를 입력하세요.

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

  17. Unity 메뉴에서 File로 가서 Build Settings를 선택하세요.

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

    드래그할 곳은 목록의 가장 위가 아니라면 어디라도 괜찮습니다. 컴파일된 버전의 게임을 만들려면 목록에서 가장 위 요소를 Main Scene으로 유지해야 합니다. 경고 메시지가 뜨지 않는지 확인하세요. 경고가 뜰 경우 오타가 있는지 확인하세요. 이제 Woodlands Trigger가 Scene을 로드하도록 변경했습니다.

  19. Build Settings 창을 닫고 Play를 클릭하세요.

  20. Woodlands로 가세요.

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

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

    Hierarchy에서 Woodlands Scene이 다시 언로드되는 것을 확인할 수 있습니다. 이제 Woodlands Scene에 오브젝트를 추가해서 플레이어가 Trigger 안으로 들어갈 때 사운드 뿐만 아니라 나무와 폭포와 같은 게임 오브젝트와 더불어 SoundBank가 로드되도록 할 수 있습니다.

  22. ESC를 눌러 WAG 메뉴를 연 후 Play를 다시 클릭해서 Play 모드를 종료하세요.


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