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

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

댓글

댓글 달기

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

다른 글

Wwise에서 Audio Object를 저작하고 프로파일링하는 간단한 9 단계

Wwise에서 새롭게 제공되는 오브젝트 기반 오디오 파이프라인을 둘러보고 싶지만 어디서부터 시작해야 할지 모르시는 분들 계시나요? 그렇다면 Windows용 Wwise에서 Audio...

21.7.2021 - 작성자: 데미안 캐스트바우어 (Damian Kastbauer)

Wwise Unreal 통합 현황

이 글은 작년에 게시한 'Wwise Unreal 통합 개선하기(Improving the Wwise Unreal Integration)'에 대한 후속 글입니다. 저번 블로그에서는...

13.10.2023 - 작성자: 기욤 르노 (Guillaume Renaud)

Strata의 Physics(물리) 효과음 무료 샘플 | 충돌 사운드 디자인의 무한한 가능성

Strata에서 가장 다양한 곳에 사용되는 멀티트랙 효과음 컬렉션, Physics(물리)를 소개합니다. Strata Sample 03을 사용하면 Strata 독점 제공 컬렉션에서...

25.9.2024 - 작성자: Audiokinetic (오디오키네틱)

Wwise Spatial Audio 2023.1의 새로운 기능 | Reverb Zone (리버브 존)

Reverb Zone 소개 Wwise 2023.1은 Wwise Spatial Audio에 Reverb Zone (리버브 존)이라는 새로운 도구를 추가했습니다. Reverb...

9.5.2025 - 작성자: 토마스 한슨 (Thomas Hansen)

UE5와 C++를 활용한 WAAPI 입문

이 글에는 Unreal에서 WAAPI를 사용하는 데 필요한 모든 정보가 담겨 있습니다. 이 글의 대부분은 Audiokinetic 문서, Wwise 업 온 에어 영상, AK 블로그에...

11.6.2025 - 작성자: 하비에르 주머(Javier Zumer)

'궨트: 더 위쳐 카드게임'과 '궨트: 방랑 마법사' | 동시에 두 개의 게임을 작업하는 방법

소개 안녕하세요! 우선, 궨트(GWENT) 와 방랑 마법사(Rogue Mage)의 세계로 들어가기 전에 우리가 누구이며 CD PROJEKT RED에서 어떤 경험을 쌓아왔는지 간단히...

8.10.2025 - 작성자: 마테우시 쉬만스키(Mateusz Szymański)

다른 글

Wwise에서 Audio Object를 저작하고 프로파일링하는 간단한 9 단계

Wwise에서 새롭게 제공되는 오브젝트 기반 오디오 파이프라인을 둘러보고 싶지만 어디서부터 시작해야 할지 모르시는 분들 계시나요? 그렇다면 Windows용 Wwise에서 Audio...

Wwise Unreal 통합 현황

이 글은 작년에 게시한 'Wwise Unreal 통합 개선하기(Improving the Wwise Unreal Integration)'에 대한 후속 글입니다. 저번 블로그에서는...

Strata의 Physics(물리) 효과음 무료 샘플 | 충돌 사운드 디자인의 무한한 가능성

Strata에서 가장 다양한 곳에 사용되는 멀티트랙 효과음 컬렉션, Physics(물리)를 소개합니다. Strata Sample 03을 사용하면 Strata 독점 제공 컬렉션에서...