버전
menu_open

Event 이해하기

Wwise는 Event를 사용하여 게임의 오디오를 구동합니다. Event는 프로젝트 계층 구조의 여러 가지 사운드 오브젝트 혹은 오브젝트 그룹에 동작(action)을 적용합니다. 선택한 동작으로 Wwise 오브젝트를 재생할지, 중단할지, 일시정지할지 등을 지정할 수 있습니다. 에를 들어 1인칭 슈팅 게임에서 플레이어가 죽었을 때 발생할 Event를 만드는 상황을 가정해 봅시다. 이 Event는 특수한 'Die' 사운드를 재생하며 현재 재생 중인 'EnergyShield' 사운드를 멈춥니다.

다음 그림은 이 Event가 Wwise에서 어떻게 구성되어 있을지 보여줍니다.

사운드 디자이너는 Mute, Set Volume, Enable Effect Bypass 등 수많은 동작 유형 중에서 원하는 유형을 골라 게임 오디오를 구동시킬 수 있습니다. 예를 들어 플레이어가 게임을 종료하고 메뉴로 돌아갈 경우 사용할 두 번째 Event를 만들었다고 가정합시다. 이 Event는 'Enter_Menu' 사운드를 재생하면서 음악 버스의 볼륨을 -10dB만큼 줄이는 한편 다른 모든 사운드를 일시 정지합니다.

다음 그림은 이 Event가 Wwise에서 어떻게 구성되어 있을지 보여줍니다.

최대한 많은 상황에 대응하기 위해 Wwise는 두 가지 Event 유형을 제공합니다.

  • 'Action' Event—이 Event는 재생, 중단, 일시 정지와 같은 동작을 한 개 이상 사용하여 게임의 사운드, 음악, 모션을 구동합니다.

  • Dialogue Event—이 Event는 State와 Switch로 이뤄진 의사 결정 트리의 일종을 사용하여 재생할 오브젝트를 동적으로 결정합니다.

Wwise에서 Event를 만들고 나면 Event를 게임 엔진에 통합(integrate)하여 게임에서 알맞은 시기에 호출하면 됩니다. 개발 초기 단계라도 Event를 만들어 게임 엔진에 통합할 수 있습니다. 그 후에는 게임 엔진에 다시 통합하지 않고도 계속해서 Event의 내용을 수정할 수 있습니다.

Action Event

게임의 사운드, 음악, 모션을 구동하기 위해서 Wwise는 '동작(action)' Event를 사용합니다. 이러한 Event는 프로젝트 계층 구조의 여러 가지 구조에 동작을 적용합니다. 각 Event는 한 개 이상의 동작을 담습니다. 선택한 동작으로 Wwise 오브젝트를 재생할지, 중단할지, 일시정지할지 등을 지정할 수 있습니다.

Example 1. Action Event 사용하기 - 예시

게임의 캐릭터가 숨겨진 문서를 찾기 위해 동굴로 들어가야 한다고 가정합시다. 캐릭터가 숲에서 동굴로 들어가면 게임의 환경음이 바뀌어야 합니다. 이러한 변화를 트리거하려면 'Woods' 환경 사운드를 중단하고 'Cave' 환경음을 재생하는 동작이 들어 있는 Event를 만들어야 합니다. 이 Event가 게임 엔진에 통합되면 캐릭터가 동굴에 들어갈 때 게임 엔진이 Wwise에서 만든 특정 Event를 호출합니다.

다음 그림은 게임 엔진이 Event를 트리거하여 게임에서 재생 중인 환경음을 변경하는 방법을 보여줍니다.

또한 사운드, 음악, 모션 오브젝트 간에 일어나는 전환 효과를 처리하기 위해서 각 Event 동작은 여러 가지 매개 변수를 제공하는데, 이 매개 변수를 사용하여 동작 실행을 지연하거나 시작, 종료되는 오브젝트 간의 페이드 인/아웃을 적용할 수도 있습니다.


Dialogue Event

게임의 동적 대사를 구동하기 위해서 Wwise는 Dialogue Event를 사용합니다. 이 Dialogue Event는 어떤 대사를 재생할지 결정하는 법칙 또는 조건들로 이뤄진 세트라 할 수 있습니다. Dialogue Event를 이용하면 게임에 존재하는 여러 가지 시나리오, 조건, 결과를 재구성할 수 있습니다. 모든 상황을 확실히 포함해야 하기 때문에 Wwise에서는 기본 또는 대비 조건을 둘 수 있게 되어 있습니다.

이 모든 조건은 여러 가지 State와 Switch 값을 사용하여 정의됩니다. 이러한 State와 Switch 값은 조합을 이루어 게임의 특정 조건이나 결과를 정의하는 경로를 구성합니다. 그런 다음 각 경로는 Wwise상의 특정 사운드 오브젝트에 연결됩니다. 게임이 실행되고 Dialogue Event가 호출되면 게임은 Dialogue Event에 정의되어 있는 조건과 기존 조건을 대조합니다. 그런 다음 게임의 현재 상황에 맞는 조건 또는 State/Switch 경로가 어떤 대사를 재생할지 결정합니다.

[Note]Note

Dialogue Event는 원래 게임 대사를 다루기 위해 제작되었지만 그 외 다양한 용도로 사용할 수도 있습니다.

Example 2. Dialogue Event 사용하기 - 예시

중계 해설이 나오는 하키 게임을 제작한다고 합시다. 플레이어가 슛을 하고 득점할 경우 실황 중계 방송으로 게임의 동작에 대응하고자 합니다. Wwise에서 다양한 가능성과 결과물을 준비하려면 Player, Action, Transition 등에 대한 Dialogue Event를 만들어야겠죠. 각 Event는 게임에 쓰려고 만든 State와 Switch 값을 담고 있습니다. 각 조건이나 결과를 정의하는 State/Switch 경로를 먼저 만들고 각 State/Switch 경로에 알맞은 음성 오브젝트를 할당해 주세요. 플레이하는 동안 게임은 현재 State/Switch 값을 Wwise에서 정의한 경로와 대조하여 재생할 음성 오브젝트를 결정합니다.

다음 그림은 Wwise에서 만든 Dialogue Event가 'Cross shoots and scores!(크로스 선수 슛, 골인!)'라는 실황 중계 방송을 만드는 방법을 보여줍니다.


Event 범위 정의하기

Event의 모든 동작(action)에는 범위(scope) 설정이 달려 있습니다. 범위는 Event 동작을 전역적(global)으로 모든 오브젝트에 적용할 것인지 또는 모든 Event를 트리거한 특정 게임 오브젝트에 적용할 것인지를 결정합니다. 일부 동작의 경우 사운드 디자이너가 범위를 선택할 수 있지만 일부 범위는 미리 결정되어 있습니다.

예를 들어 Event B를 다시 살펴보면 각 Event 동작의 범위가 다음과 같이 설정되어 있습니다.

Event Action

Scope

설명

Play > Menu_Enter

Game Object

재생 Event는 항상 단일 게임 오브젝트에 의해 트리거 되기 때문에 범위가 Game Object로 설정됩니다.

Set Volume > Music

Global

Set Volume 동작은 전역적인 성질을 가진 버스에 적용되기 때문에 Global로 설정됩니다.

Pause All Except > Music

Global

Pause All Except 동작은 전역적인 성질을 가진 Music 버스에 적용되기 때문에 자동으로 Global로 설정됩니다.

다음 그림은 이 Event가 Wwise에서 어떻게 구성되어 있을지 보여줍니다.

[Note]Note

범위는 Wwise의 수많은 요소에 적용되는 아주 중요한 개념입니다. 각 요소의 범위를 이해하면 각 요소를 여러 가지 상황에서 언제 사용할지 결정하는 데 도움이 됩니다.

게임에 Event 통합하기

사운드 디자이너는 게임에 쓸 Event를 만든 후 그 Event를 SoundBank에 넣어볼 수 있습니다. 나중에 게임에서 이 SoundBank를 부르면 게임 코드를 통해 이 SoundBank에 포함된 Event를 트리거할 수 있습니다. 예를 들어 플레이어가 죽으면 해당 Event를 트리거하여 특수한 'Die' 사운드를 재생하고 'EnergyShield' 사운드를 중단시킬 수 있습니다.

이러한 Event를 게임에 통합하려면 프로그래머가 반드시 Event Action이 실행될 게임 오브젝트를 지정해야 합니다. 이 작업은 각 Event를 게시(post)함으로써 실행됩니다. 오디오에 변화를 주고자 한다면 게임 코드로 Event를 게시해야 합니다. Event는 문자열이나 ID를 사용하여 게시할 수 있습니다.

Wwise Event 사용의 장점

게임에서 사운드를 트리거할 때 이 방법을 사용할 경우 얻을 수 있는 한 가지 주된 장점은 바로 추가적인 프로그래밍 없이 사운드 디자이너에게 더 많은 제어력과 유연성을 제공한다는 점입니다. 모든 Event는 사운드 디자이너에 의해 Wwise에서 제작된 후 프로그래머에 의해 게임에 통합됩니다. 게임에 Event가 통합되고 난 이후에도 사운드 디자이너는 계속해서 Event가 담을 동작이나 참조하는 오브젝트를 변경할 수 있습니다. 게임에서는 여전히 동일한 Event를 트리거하기 때문에 사운드 디자이너가 편집한 사항은 개발자가 추가적인 작업을 하거나 코드를 다시 컴파일링할 필요 없이 게임에 바로 적용됩니다.

Event - 역할과 책임 분담

다음 표는 Event와 관련해 사운드 디자이너가 해야 하는 작업과 프로그래머가 해야 하는 작업을 보여줍니다.

작업

사운드 디자이너 (Wwise)

프로그래머 (게임 코드/툴)

이벤트 만들기

X

오디오 구조에 Event Action 할당

X

Event Action 범위 정의

X

게임에서 Event 게시

X

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

지원이 필요하신가요?

질문이 있으신가요? 문제를 겪고 계신가요? 더 많은 정보가 필요하신가요? 저희에게 문의해주시면 도와드리겠습니다!

지원 페이지를 방문해 주세요

작업하는 프로젝트에 대해 알려주세요. 언제든지 도와드릴 준비가 되어 있습니다.

프로젝트를 등록하세요. 아무런 조건이나 의무 사항 없이 빠른 시작을 도와드리겠습니다.

Wwise를 시작해 보세요