1 개의 강의

목차

SoundBank 로드하기

Wwise Event를 게시하려면 먼저 Event를 SoundBank에 추가하고 메모리에 로드해야 합니다.

[작은 정보]

SoundBank에 Wwise Event를 추가하는 방법에 대한 설명은 Wwise 101 자격증을 참고해주세요.

Unity에 SoundBank를 로드하기 위해서 Wwise는 두 가지 정보를 필요로 합니다.

  1. 참조된 게임 오브젝트

  2. Trigger 메커니즘

이 정보는 스크립트에 정의되어 있어야 합니다. Wwise Unity Integration에서는 사전 작성된 AkBank 스크립트를 게임 오브젝트에 추가하여 첫 번째 조건을 만족시킵니다. 그리고 나서 AkBank 컴포넌트의 Load On 프로퍼티(property, 속성)에서 SoundBank를 로드하는 다양한 방법을 선택하는 것으로 두 번째 조건을 만족시킵니다.

[참고]

게임 오브젝트에 스크립트를 추가하면 이 스크립트가 컴포넌트로 추가됩니다.

Wwise Adventure Game의 경우 대부분의 사운드가 General SoundBank 안에 있습니다. 사운드를 런타임 때 재생하려면 먼저 SoundBank가 반드시 로드되어야 합니다. 여러 가지 동작에 따라 General SoundBank를 로드하도록 AkBank 컴포넌트를 설정할 수도 있지만, 여기에서는 게임이 시작되기 전에 Awake 때 이 SoundBank가 로드되도록 간단하게 설정하는 것이 좋겠습니다. 그러면 게임이 Start에서 시작되기 전에 모든 사운드가 게시될 수 있죠. 다음 단계에서는 Wwise Adventure Game에서 General SoundBank가 Awake에서 반드시 로드될 수 있도록 해봅시다.

  1. Audiokinetic 런처의 Wwise Adventure Game 탭에서 Open in Wwise를 클릭하세요. Wwise Adventure Game Wwise 프로젝트가 열립니다.

  2. Unity 메뉴에서 Audiokinetic > Certification > 301 > Lesson 1 > Loading a SoundBank를 선택하세요.

  3. Unity의 Hierarchy 뷰에서 Wwise를 펼치고 GeneralSoundBanks 게임 오브젝트를 선택하세요.

    Unity를 초기화하면 Unity가 모든 게임 오브젝트에 추가된 모든 스크립트를 확인합니다. Script Lifecycle Flowchart에 있는 함수가 포함된 스크립트를 찾을 때 Unity는 특정 순서대로 이 함수를 호출합니다. 그렇기 때문에 이 실행 순서를 따르기 위해서 GeneralSoundBanks 게임 오브젝트에 추가된 AkBank 스크립트를 Awake에 할당하면 Unity가 초기화될 때 이 스크립트가 자동으로 실행됩니다.

    Wwise Picker를 사용하면 게임 오브젝트에 AkBank 스크립트를 빠르고 간편하게 추가할 수 있습니다. 이 표준 Wwise Unity Integration 기능에 의해 Event, SoundBank, Switch와 같이 연결된 Wwise 프로젝트에서 사용 가능한 오브젝트의 목록을 가져올 수 있습니다. 이 Wwise 오브젝트 중 하나를 게임 오브젝트로 드래그하면 해당 통합 컴포넌트가 추가되며 오브젝트가 자동으로 할당됩니다.

    [참고]

    Wwise Picker를 열려면 Unity 메뉴의 Window > Wwise Picker로 이동하세요. Wwise Picker에서 Wwise Picker에 대해 자세히 알아보세요.

  4. Wwise Picker에서 SoundBanks > Default Work Unit > General을 펼친 후 General SoundBank를 Inspector에 있는 GeneralSoundBanks 오브젝트로 드래그하세요.

    [참고]

    SoundBank를 Inspector로 드래그할 때에는 반드시 Work Unit이 아닌 SoundBank를 가져와야 합니다.

    [작은 정보]

    또는 Add Component를 사용하여 AkBank 스크립트를 추가한 후 Bank Name에 해당 Soundbank를 할당할 수도 있습니다.

    Inspector를 살펴봅시다.

    AkBank 스크립트가 이제 GeneralSoundBanks 게임 오브젝트에 추가되었으며 Bank Name에 General SoundBank가 선택된 것이 보이실 것입니다. 기본적으로 Load On 프로퍼티는 Start로 설정되어 있지만 Wwise Adventure Game Events는 이미 Start에 게시되고 있기 때문에 게임이 Awake에서 로딩될 때 SoundBank를 불러오도록 실행 순서를 변경해야 합니다. Load On 프로퍼티를 Nothing으로 설정하면 선택된 다른 모든 Trigger가 선택 해제되어 Start Awake가 동시에 선택되지 않습니다.

    [작은 정보]

    Start에서 어떤 Event도 로드되지 않는다면 SoundBank를 Start에서 불러올 수도 있겠죠. SoundBank를 Awake에서 불러오고 Event를 Start에서 게시하는 것은 Event가 게시되기 전에 SoundBank가 반드시 로드되도록 하는 아주 간단한 방법이지만, 또 다른 Unity 프로젝트에서는 아닐 수 있습니다.

  5. Load On 프로퍼티를 열고 Nothing을 선택하세요.

  6. Awake를 선택하세요.

    다 됐습니다! Wwise 사운드 엔진이 초기화되면 General SoundBank가 로드됩니다. Wwise에서 게임을 프로파일링하기 전에 SoundBank를 생성합시다.

  7. Wwise로 이동하여 Layouts 메뉴에서 SoundBank를 선택하세요.

  8. SoundBank Manager에서 Generate All을 클릭하세요.

    이제 Profiler를 연결하고 Play를 클릭해서 SoundBank가 로드되었는지 확인해봅시다. Wwise Adventure Game이 열려 있고 Wwise 사운드 엔진이 실행되고 있다면 Play 모드가 아니더라도 게임에 연결할 수 있습니다.

  9. 다시 Wwise로 돌아가 Layouts 메뉴에서 Profiler를 선택하세요.

  10. Toolbar에서 Remote…를 클릭하세요.

  11. Remote Connections 뷰의 Available 탭에서 Wwise Adventure Game (Editor)를 더블 클릭하세요.

  12. Unity에서 Play를 클릭하세요.

    Play 모드를 시작하면 Profiler에서 어떤 SoundBank가 로드되었는지 알 수 있기 때문에 Wwise 프로파일러에서 SoundBank의 로드 여부를 즉시 검토할 수 있습니다.

  13. ESC를 눌러서 WAG (Wwise Adventure Game) 메뉴를 열고 Play를 다시 클릭하여 Play 모드를 종료하세요.

  14. Wwise로 전환하고 Advanced Profiler에서 SoundBanks 탭을 선택하세요.

  15. Performance Monitor에서 Memory 탭에 General SoundBank이 보일 때까지 시간 커서를 거꾸로 드래그하세요.

    Advanced Profiler의 목록에 General SoundBank와 Wwise에서의 모든 메모리 할당이 보이실 것입니다. 이렇게 SoundBanks 탭의 목록에서 나타나 SoundBank가 메모리에 로드된 것이 확인되면 이제 이 SoundBank에서 Event를 게시할 수 있습니다.

[참고]

Play 모드에서 변경한 모든 사항은 저장되지 않습니다. 그렇기 때문에 다음 섹션이나 실습을 진행하기 전에 반드시 Play 모드를 종료해서 변경 사항이 사라지지 않도록 해야 함을 잊지 마세요. 이 실습에서는 Play 모드를 종료해야 함을 알려드리지만 다음 섹션부터는 여러분이 재생 버튼을 비활성화하는 법(Play 모드 종료)을 알고 있다고 가정할 것입니다.

첫 번째 단계가 끝났습니다. 이제 사운드를 재생해볼까요!


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