2 개의 강의

목차

AkAmbient로 게시하기

Village의 작은 언덕에 가면 풍차가 천천히 돌아가는 것을 볼 수 있습니다. 이 풍차는 Allegro Kingdom에 있는 여러 다른 에셋과 비슷하지만 주변에 사람이 살고 있음을 나타내는 기계 소리를 통해 플레이어를 Village 쪽으로 이끌어주는 역할도 하죠. 다음 단계에서는 AkAmbient 스크립트를 사용하여 Windmill 게임 오브젝트에 Windmill Event를 게시해야 합니다.

  1. Unity 메뉴에서 Audiokinetic > Certification > 301 > Lesson 2 > Posting an Ambience를 선택하세요.

    Hierarchy에 Village Environment Scene과 L2_1 - Posting an Ambience라는 두 가지 씬이 나타납니다. L2_1 - Posting an Ambience는 Wwise Adventure Game에서 다른 지역의 씬을 모두 불러오는 핵심적인 Scene의 역할을 하는 Main Scene의 복사본입니다. Village Environment Scene은 Village에만 관련되어 있는 게임 오브젝트를 담은 지역 Scene입니다. 이 Scene은 보통 자동으로 로드/언로드되며 Play 모드가 아닐 때 Hierarchy에 나타나지 않습니다. 하지만 이 씬에서 여러분이 Windmill 게임 오브젝트에 변화를 주기 때문에 L2_1 - Posting an Ambience Scene에 추가적으로 로드되어 있습니다.

    [작은 정보]

    Unity에서 여러 가지 씬을 관리하는 법에 대해 더 자세히 알고 싶으시다면 https://docs.unity3d.com/Manual/MultiSceneEditing.html을 참고해주세요.

    먼저 Windmill 게임 오브젝트를 찾아서 AkAmbient 스크립트를 추가해봅시다.

  2. Hierarchy의 L2_1B - Village Environment Scene에서 Wwise를 펼치고 Windmill 게임 오브젝트를 선택하세요.

    그리고 Windmill 게임 오브젝트를 볼 수 있게 Scene 뷰를 조정해봅시다.

  3. Hierarchy 에서 Windmill을 선택하고 마우스 커서를 Scene 뷰 안에 놓은 후 F를 클릭하세요.

    이제 AkAmbient 스크립트를 추가해야 합니다.

  4. Inspector에서 AkAmbient 스크립트를 추가하세요.

    [참고]

    스크립트를 추가하는 방법을 모르신다면 제 1강을 참고해주세요.

    AkAmbient 컴포넌트에 있는 프로퍼티를 둘러보세요.

    추가된 AkAmbient 컴포넌트를 보면 Trigger On, Action on Event, Use Callback, Event Name 프로퍼티가 있는데, 이 프로퍼티들은 AkEvent 컴포넌트에 있는 프로퍼티들과 동일합니다. 뿐만 아니라 AkAmbient에는 Position TypeShow Attenuation Sphere 프로퍼티 입력란도 있습니다. Event Name이 현재 선택되어 있지 않으니 Ambient_Windmill Event를 추가해봅시다.

  5. Event Name: 에서 Events > Ambient > SoundBankSpecific으로 이동한 후 Ambient_Windmill Event를 선택하세요.

    Trigger On 옵션이 Start로 설정된 것이 보이실 것입니다. Windmill은 게임이 로드되자 마자 'Start'되어야 하기 때문에 계속해서 이 옵션으로 두겠습니다. 통합 작업을 Play 모드에서 검사해봅시다.

  6. Play 를 클릭하고 Village로 뛰어가세요.

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

    풍차에 가까워지면서 볼륨이 점점 증가하는 것이 들리실 것입니다. 하지만 풍차가 Training Area에서는 재생되지 않다가 풍차에 점점 가까워지면서 들리기 시작한 것을 알아차리셨나요? Windmill 사운드는 주변에 사람이 살고 있음을 알려줘야 하기 때문에 Training Area에서 플레이어가 들을 수 있어야 합니다. 하지만 사운드의 볼륨이 작은건지, Max Attenuation Range 밖에 있는 것인지를 어떻게 구별할 수 있을까요? 이것을 확인할 수 있는 일반적인 방법은 Game Object 3D Viewer를 사용해서 사운드의 거리를 확인하는 것입니다. 하지만 우리가 AkAmbient 컴포넌트를 사용했기 때문에 Show Attenuation Sphere 프로퍼티를 사용하면 Unity의 Scene 뷰 안에서 Max Attenuation를 직접 확인하고 검토할 수 있습니다.