Unity3D에서 사운드 디자이너의 역량 강화하기

게임 오디오 / 사운드 디자인 / Wwise에 대한 팁과 도구

최근 몬트리올 국제 게임 서밋(Montréal International Game Summit, MIGS)에서 '사운드 디자이너의 역량 강화하기'라는 제목으로 발표를 한 적이 있습니다. 이 발표는 두 가지 목적을 가지고 있었죠. 먼저, 곧 출시 예정인 Anamorphine(애나몰핀)이라는 게임을 제작하면서 우리가 개발한 오디오 도구 세트를 선보이고 싶었습니다. 그리고 전체 작업 과정에서 오디오가 차지했던 독특한 역할에 대해 얘기하고 싶었습니다.

 

 

제가 Artifact 5에 입사했을 때 저희 팀은 Anamorphine을 출시하기까지 3년의 시간이 있었습니다. 사실 이 회사는 보조금 신청에 도움이 필요했는데, 보조금 신청이 성공하면서 회사에 충분한 자금을 모을 수 있게 되었죠. 프로젝트 개발 중 이렇게 초기 단계에서 합류하게 된 것은 사운드 디자이너인 저에게 아주 독특한 경험이었습니다. 대부분의 경우처럼 거의 개발 마지막 단계에 합류하는 것이 아니라 주요 개발 파이프라인에 사운드 작업 과정을 제작해 넣을 수 있었죠.

덕분에 맞춤 Unity-Wwise 통합 도구 세트를 프로그래머가 저와 함께 차근 차근 제작할 수 있었고, 이 도구는 통합이 강화되면서 아주 유용하게 사용되었습니다. 이 도구는 'Audio Box(오디오 박스)'라고 불리는 '우산' 컴포넌트 (포괄적 컴포넌트) 아래에서 작동합니다. 이러한 도구 덕분에 저는 사운드 디자인이나 상호작용 아이디어가 떠오른 후 원본 에셋 작업을 반복하기 전에 게임 안에서 아이디어를 만들고 통합하고 시험할 수 있는 제대로 된 작업 과정을 누릴 수 있었습니다. 즉, 이 과정을 설계 단계의 일부로서 처음부터 끝까지 진행할 수 있었죠. 저는 Unity에서 독립적으로 작업할 수 있었기 때문에 프로그래머가 오디오 작업을 완료할 때까지 기다릴 필요가 없었습니다. 프로그래머에게 있어 오디오 작업은 주요 게임 플레이에 대한 코딩 작업보다 우선 순위가 낮기 때문에 오디오 작업을 완료하는 데 꽤 많은 시간이 걸릴 수 있죠. 마찬가지로 프로그래머 입장에서도 수많은 오디오 관련 요구 사항에 대해 걱정할 필요가 없었습니다. 그리고 결과적으로 복잡하고 정교한 오디오 시스템을 게임 플레이에 매끄럽게 통합할 수 있었죠.

물론 Wwise 에는 이미 기존 통합 도구가 다양하게 있지만 이러한 도구는 기본적인 통합 업무만 다루며 여러 가지 도구와 컴포넌트에 흩어져 있습니다. Audio Box는 전체 게임 플레이 섹션을 제어하는 중앙 Audio Box 허브에서 이런 기존 기능 뿐만 아니라 수많은 추가 기능을 모두 제어할 수 있게 해줍니다. 예를 들어 Anamorphine은 중앙 메커니즘의 일부로 매끄러운 씬 전환 효과가 많은 게임입니다. 그래픽 씬이 전환할 때마다 저도 사운드를 매끄럽게 전환해야 했죠. 중앙 Audio Box 컨트롤러 안에서 복잡한 전환효과라 할 지라도 손쉽게 오디오를 움직이고 변경하고 제어할 수 있었습니다.

실제 도구 세트를 함께 둘러볼까요.

 

AUDIO BOX (오디오 박스)

Picture1.png

Audio Box는 중앙 허브로서, 트리거 콜라이더(trigger collider)가 있을 수도 있고 없을 수도 있습니다. 게임 음향 기능의 섹션들을 제어하죠. 위의 그림에서 보라색 구와 선으로 표시된 부분이 Audio Box가 참조하는 게임 오브젝트입니다.

  • Audio Box는 다양한 컴포넌트를 가지고 있으며 각 컴포넌트는 Delay(지연)과 Trigger Only Once(한 번만 트리거) 옵션을 가지고 있습니다.
  • Delay는 트리거된 Event의 시간 지연 효과를 설정하도록 해주며 Trigger Only Once는 버그 방지에 아주 유용합니다.
  • 각 Audio Box에 수많은 기능 요소를 넣을 수 있으며, 한 게임 오브젝트에 Audio Box를 여러 개 배치하여 기능 설정별로 Audio Box를 대대적으로 분류할 수도 있습니다.

EVENT 게시하기

여기서 가장 중요한 점은 바로 Audio Box를 통해 Wwise Event를 트리거할 수 있다는 점입니다. 이 작업은 Trigger Collider (On Enter, On Exit), On Start, On Event를 사용하여 이루어지는데 이들은 Event Tag System(이벤트 태그 시스템)이라고 불리는 Audio Box가 사용하는 두 번째 도구 세트에 연결됩니다 (아래 참고).

Picture2.png

여기서 제가 특별히 더한 부분은, AkAmbient나 AkEvent컴포넌트와 함께 간단히 기존 게임 오브젝트만 참조하면 Audio Box가 해당 Event를 가져와 프로그램된 시기에 트리거하도록 만든 부분입니다. 하나의 Event 게시 컴포넌트로 여러 개의 게임 오브젝트를 참조하는 것은 굉장한 효과가 있습니다. 각 게임 오브젝트가 각자의 Event를 따로따로 트리거할 수 있죠. 이를 잘 이용하면 예를 들어 플레이어가 들어오는 때에 맞춰 환경적인 공간을 트리거할 수도 있고, 플레이어가 게임 Event를 하나만 트리거해도 여러 개의 소리 Event를 한꺼번에 트리거할 수도 있습니다. 또한 'Event' 상자를 선택 해제하고 드롭 다운 메뉴에서 Audio Box 안에 있는 Event를 선택하면 기존의 게임 오브젝트를 참조하지 않고도 Event를 트리거할 수 있습니다.

Picture3.png

 

RTPC 설정하기

또한 Audio Box를 사용하면 RTPC를 구성하고 변경할 수 있습니다. Audio Box에서는 Toggle(토글)Add(추가) 기능을 각각 사용하여 매개 변수 변경에 대한 Absolute(절대적)과 Relative(상대적) 토글을 제공합니다. 이러한 토글은, 컴포넌트 내 게임 오브젝트를 지정하면 그 범위 안에서 매개 변수를 제어할 수도 있고, 따로 지정하지 않으면 전반적인 매개 변수를 제어합니다.

Picture4.png

또한 저는 State와 Switch도 트리거할 수 있습니다.

 

Picture5.png

무엇보다, 플레이어 위치에 따라 매개 변수 값을 변경할 수 있는 추가 도구들이 매우 흥미로웠습니다.

Curve Over Distance(거리에 대한 곡선)는 매개 변수의 경사도를 설정합니다. 콜라이더의 중심은 비율의 최대치를, 가장 자리는 비율의 최소치를 표시하죠. 이 트리거 영역 안에서 플레이어가 움직이면 매개 변수 값이 여기에 맞게 변경됩니다.

 

Picture6.png

Distance Slider(거리 슬라이더)는  제가 직접 설정한 두 지점에서의 매개 변수 최소/최대값을 설정하며, 어느 시점에서든 콜라이더 밖으로 나가면 매개 변수의 최종 값을 현재 값으로 설정합니다.

Picture7.png

 

ATTACH (연결) / MOVE-TOWARD (앞으로 이동)

Attach와 Move 옵션은 완전히 다른 차원의 기능을 더했습니다. 오디오 게임 오브젝트를 전환 효과와 씬 사이로 이동할 수 있는 기능은 Anamorphine 게임에서 제 작업에 아주 중요한 역할을 했죠.

  • Attach(연결)는 제가 원하는 게임 오브젝트를 같은 씬 내의 또다른 오브젝트에 연결할 수 있게 해줍니다.
  • Attach to Player(플레이어에 연결)는 캐릭터 컨트롤러가 어느 씬에 있든 상관 없이 어떤 게임 오브젝트이든지 플레이어에 연결할 수 있게 해줍니다.
  • Move to(~로 이동)와 Move Toward Player(플레이어를 향해 이동)는 제가 원하는 속도로 한 오브젝트를 다른 게임 오브젝트나 플레이어를 향해 이동할 수 있게 해줍니다. 

이러한 도구들을 종합적으로 이용해 플레이어와 플레이어 동작에 따라 3D 위치 지정 음향을 자유롭게 이동할 수 있었습니다.

아래 스크린샷을 보시면, 매끄럽게 연결된 씬 전환을 확인하실 수 있을 겁니다. 위에 설명한 Audio Box 도구들을 함께 사용해, 이전 씬에서 나는 소리를 다음 씬으로 넘어가면서 부드럽게 사라지도록 만들었습니다. 저는 Trigger Exit(트리거 퇴장)이 아니라, 코드 씬이 직접 트리거 하는 Event Tag(이벤트 태그)로 Attach 기능을 트리거하여, 플레이어가 텔레포트하기 전부터 이러한 사운드가 플레이어에 연결될 수 있게 하였습니다. MIGS 비디오에서 이 부분을 들어보실 수 있을 거예요.

Picture8.png

Picture9.png

EVENT TAG SYSTEM (이벤트 태그 시스템)

위에서 설명한 'On Event(Event에서)' 트리거 기능은 Event Tag System이라는 2차 도구 세트와 연결됩니다. 이를 통해 저는 애니메이션 이벤트와 스토리 결정 지점 등, 게임 내 다양한 트리거에 따라 음향을 트리거할 수 있죠.

Event Tag System은 이벤트를 동작에 연결해주는 간단한 이벤트 시스템입니다. Unity 안에 있는 요소는 반드시 내부적으로 이벤트나 동작을 지원해야지만 다음과 같은 형태의 경로 태그를 이용해 등록할 수 있습니다.

Events / Apartment / Teleportation / Before

동작과 이벤트는 '다수에서 다수'로 연결할 수 있습니다. 다시 말해 한 이벤트나 동작을 여러 개 태그로 등록할 수 있으며, 반대로 하나의 태그가 다양한 동작이나 이벤트와 연결될 수 있습니다.

Unity에서는 서로 다른 씬 간의 교차 참조를 허용하지 않는데, Event Tag System은 이를 무시하고 다른 분야의 씬 세트에서 트리거 되는 이벤트와 상호작용할 수 있게 해줍니다. 이러한 강점 덕분에 각 분야의 사람들이 각각 자신의 씬 세트에서 따로 작업할 수 있어, Git 충돌 문제를 최소화하고 다양한 작업 과정을 동시에 진행할 수 있습니다.

 

결론

Audio Box는 프로젝트와 함께 유기적으로 발전해, 사운드 디자이너인 사운드 디자이너인 저의 음향 작업 과정을 더 명확히 해줬을 뿐만 아니라 아주 든든한 힘이 되었습니다. 제게 필요한 부분이 새롭게 생길 때마다 프로그래머는 이에 따라 Audio Box를 변경하거나 내용을 더했죠. 새로운 변경 작업은 융통성이 뛰어났으며, 원래 설계의 특정 목적뿐만 아니라 전반적인 작업 과정을 향상시켰습니다.

이렇게 프로젝트 초반에 조금만 공을 들이면 팀 전체가 훨씬 수월하게 작업할 수 있었으며, 프로젝트 전체의 성장에 따라 음향 작업 과정도 아주 효율적으로 진행할 수 있었습니다.

뿐만 아니라 사운드를 게임 디자인의 초기 제작 단계에 도입하여 필수 게임 플레이, 스토리텔링, 게임 분위기 결정 작업에 풍부하고 강력한 사운드를 구현할 수 있었습니다. 개발 초기에 특정 게임 아이디어를 염두에 두고 구성된 Audio Box는, 몰입감을 높이고 풍부한 감정을 불어넣어 궁극적으로 높은 수준의 게임을 만들어냈습니다.

  

Subscribe

BEATRIX MOERSCH (베아트릭스 모쉬)

사운드 디자이너 & 작곡가

Framing Noise

BEATRIX MOERSCH (베아트릭스 모쉬)

사운드 디자이너 & 작곡가

Framing Noise

베아트릭스 모쉬는 사운드 디자이너 겸 작곡가이며 Artifact 5의 Anamorphine과 Casa Rara의 Museum of Symmetry 제작에 참여했습니다. 그는 10년 넘게 음향 그 자체를 목적으로 하는 사운드 및 시각적 경험에 동반할 사운드를 제작해왔습니다. 2012년에 처음 상호작용 오디오를 접한 후 매력을 느껴 몰입감을 한층 높이는 사운드 경험을 만들어낼 수 있는 게임 분야로 발을 내딛게 되었습니다.

www.framingnoise.com

에서 더 자세히 알아보세요.

댓글

댓글 달기

이메일 주소는 공개되지 않습니다.

다른 글

제 2부: 니어 : 오토마타(NieR:Automata)의 공간 음향과 Wwise로 구현한 다양한 게임 플레이 유형

블로그 제 1부를 읽어주세요! 다양한 게임 플레이를 지원해주는 Wwise 컨트롤 앞서 말씀드렸듯이 이 게임에서는 카메라의 위치가 자주 변경됩니다. 표준 후면 시점부터 시작해서 탑...

17.9.2019 - 작성자: PlatinumGames Inc. (플래티넘 게임즈)

Wwise를 사용하여 UE 게임에 두 개의 오디오 장치 구현하기

먼저 제 소개를 해드릴게요. 저는 에드 카신스키(Ed Kashinsky)이며 러시아 상트페테르부르크 출신 사운드 디자이너 겸 음악가입니다. 현재 저는 아주 흥미롭고 독특한...

15.9.2020 - 작성자: 에드 카신스키(ED KASHINSKY)

게임 음악은 단순히 그냥 음악이 아니다: 제 2부

게임 음악이란 무엇일까요? 상호작용 음악이란 무엇일까요? 이 질문에 답하기란 생각만큼 그리 간단하지 않습니다. 올리비에 더리비에르(Olivier Derivière)는 이 글을 통해...

27.10.2021 - 작성자: 올리비에 더리비에르 (OLIVIER DERIVIÈRE)

Wwise+GME 게임 음성 솔루션: 다양한 음성 플레이 대방출, 생생한 몰입감 선사

AppAnnie2021 모바일 게임 리포트는 강력한 소셜 인터랙션 속성을 가진 배틀 그라운드, 슈팅 및 온라인 MOBA가 플레이어들의 사랑을 많이 받았으며 게임 시간 증가를...

13.1.2022 - 작성자: Tencent Cloud

Wwise Spatial Audio 2023.1의 새로운 기능 | 개선된 Aux Send Model

Wwise 2023.1에서 새로 제공되는 수많은 기능의 목록을 살펴보셨다면 아마 '개선된 Aux Send Model'이라는 흥미로운 문구를 발견하셨을 겁니다. 도대체 이게 무슨...

14.12.2023 - 작성자: Nathan Harris

Wwise Spatial Audio 2023.1의 새로운 기능 | 위상 완화 (Phasing Mitigation)

오늘 이 글에서는 '위상(phasing)'이라는 흥미로운 음향적인 현상에 대해 알아보겠습니다. 이 현상은 특정 환경에서 음향을 모델링할 때 나타날 수 있죠. Wwise 23.1의...

25.1.2024 - 작성자: Allen Lee

다른 글

제 2부: 니어 : 오토마타(NieR:Automata)의 공간 음향과 Wwise로 구현한 다양한 게임 플레이 유형

블로그 제 1부를 읽어주세요! 다양한 게임 플레이를 지원해주는 Wwise 컨트롤 앞서 말씀드렸듯이 이 게임에서는 카메라의 위치가 자주 변경됩니다. 표준 후면 시점부터 시작해서 탑...

Wwise를 사용하여 UE 게임에 두 개의 오디오 장치 구현하기

먼저 제 소개를 해드릴게요. 저는 에드 카신스키(Ed Kashinsky)이며 러시아 상트페테르부르크 출신 사운드 디자이너 겸 음악가입니다. 현재 저는 아주 흥미롭고 독특한...

게임 음악은 단순히 그냥 음악이 아니다: 제 2부

게임 음악이란 무엇일까요? 상호작용 음악이란 무엇일까요? 이 질문에 답하기란 생각만큼 그리 간단하지 않습니다. 올리비에 더리비에르(Olivier Derivière)는 이 글을 통해...