왜 Wwise를 쓰는 걸까요?

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

게임 음향 커뮤니티에서 가장 흔한 질문 중 하나는 바로 '미들웨어 사용의 장점을 상사나 고객에게 어떻게 설명해야 하는가'입니다. 우리 음향 전문가의 입장에서 이 질문은 너무나 쉽게 들릴 수 있죠. 하지만 이 질문을 객관적으로 대답할 수 있으려면 고객의 입장에서 볼 필요가 있습니다.
미들웨어 없이 작업을 완료할 수 있을 텐데 왜 굳이 추가 비용을 들여서 미들웨어를 사용해야 할까요? 비용에 비해 어떤 장점이 있을까요? 오늘날 게임 개발 환경에서, 특히 적은 예산으로 작업하는 소규모 인디 팀에서 오디오 기능이 내장된 Unreal(언리얼)이나 Unity(유니티)와 같은 서드파티 엔진을 사용하는 올인원 솔루션이 점점 인기를 얻고 있습니다. 이러한 경우 특수화된 사운드 엔진으로의 투자를 어떻게 정당화할 수 있을까요?

 

프로젝트를 기획하는 프로듀서나 스튜디오 감독의 시점에서 라이선스 비용은 다른 곳에 쓸 수 없는 현금과 같습니다. 단일 플랫폼 예산으로 미화15만에서150만 달러를 가진 단일 플랫폼 프로젝트가 있다고 가정합시다. 이 프로젝트의 제작 예산에 따라 Level B 라이선스 비용은 6,000 달러가 됩니다. 이 예시에서 Wwise를 사용하는 것은 시니어 멤버 한 명, 혹은 주니어 멤버 1.5명의 한 달 월급과 같은 비용이 됩니다. 그렇다면 Wwise를 사용할 경우 아마 한 기능의 개발을 중단하거나, 보다 적은 에셋을 제작해야 하겠죠. 여기서 중요한 것은, 합당한 거래가 성립돼야 한다는 점입니다. 이 비용을 정당화하려면 Wwise를 사용할 경우 얻을 수 있는 이점이 고려 사항보다 얼마나 중요한지를 입증해야 합니다. 높은 수준의 관점에서 볼 때 이러한 입증은 사운드 디자이너와 프로그래머 모두가 소비하는 시간을 줄이면서 제작의 품질을 향상시킬 수 있죠.

 

Wwise 사용의 비용이 오디오 프로그래머를 한 달 동안 고용하는 비용과 같지만 실제로 오디오 프로그래머를 두 달 동안 고용하는 만큼의 비용을 아껴준다면, 이 수치만으로 쉽게 Wwise 사용의 정당성을 입증할 수 있을 것입니다. 그렇기 때문에 Wwise를 사용하면 사실상 프로듀서가 리소스를 더 얻어서 프로젝트의 차익을 늘일 수 있게 됩니다.

 

다시 말해 특정 기능이나 장점에 대해 얘기할 때, '이 기능이 시간을 줄여주거나 품질을 향상하는가'라는 질문을 자신에게 묻고 고객에게 답해야 합니다. 물론 자세한 답변은 프로젝트마다 기존 엔진에서 제공하는 기능의 요구 사항과 기본 사항에 따라 다를 수 있지만, 여기에서는 Wwise의 주요 기능으로 시간을 줄이고 품질을 향상시키는 방법에 대해 간단히 다뤄보겠습니다.

 

저작 작업 과정

Wwise에서 사운드 디자이너가 하는 대부분의 작업은 저작 애플리케이션에서 일어납니다. Authoring(저작) 작업 과정은 강력한 기능과 사운드 디자이너가 이해할 수 있는 언어로 된 도구를 창의적으로 제공하죠. 이에 대한 예시로 데시벨로 표현된 볼륨, 버스 믹싱 계층 구조, 엔벨로프(envelope), LFO, 그리고 매개 변수 곡선의 시각적 편집 등이 있습니다. 이러한 것들은 디지털 오디오 편집 프로그램(Digital Audio Workstation, DAW)과 샘플러에서 사용하는 언어와 동일하며 사운드 디자이너가 빠르고 정확하게 작업할 수 있게 해줍니다. 둘째로, 게임 오브젝트에서 오디오 기능을 분리하여 프로젝트에서 파일 접근에 대한 의존성을 최소화해줍니다. 씬, 맵 파일, 게임 오브젝트, 블루프린트는 모두 팀의 다른 멤버도 접근해야 하는 것들인데, Wwise를 사용하면 이러한 것을 변경할 필요 없이 대부분의 작업을 실행할 수 있죠. 이 기능은 사운드 디자이너의 시간뿐만 아니라 다른 팀 멤버의 시간 또한 절약해줍니다. (사운드 디자이너의 시간은 궁극적으로 품질에 영향을 미칩니다. 블루프린트 및 소스 컨트롤과 사투를 벌이거나 파일 접근을 기다릴 필요가 없다는 말은 곧 게임 음향을 더 뛰어나게 만들 시간이 늘어난다는 것이니까요!)

 

창의적인 기능

효과음의 설계와 구현에 있어 (VO와 음악은 나중에 다루겠습니다) Wwise의 핵심 기능은 바로 Actor-Mixer Hierarchy(액터 믹서 계층 구조)Random, Blend, Switch, Sequence라는 컨테이너 유형입니다. 이러한 네 가지 컨테이너 유형 (서로 둥지화하고 조합할 수 있음)을 사용하여 사운드 디자이너는 여러 가지 변형의 풀에서부터 랜덤으로 사운드를 선택하는 기본적인 작업부터 아주 복잡한 레이어링과 동적인 사운드 구조화에 이르기까지 엄청나게 다양한 사운드 작동 방식을 구성할 수 있습니다. 뿐만 아니라 실시간 매개 변수 제어(Real-Time Parameter Control, RTPC), SwitchState를 정의해, 게임으로부터 수신하면 다양한 사운드 속성에 매핑할 수 있습니다.

 

발자국 소리를 예로 들어 봅시다. 만약 캐릭터가 다섯 가지의 지표면에서 세 가지 다른 속도로 걸어야 한다면 각 순열에 대한 샘플을 담은 Random Container (예: Grass/Walk, Grass/Run), 각 순열을 '속도' 매개 변수나 Switch에 매핑하는 Blend나 Switch Container, 지표면을 전환하는 최상위 레벨의 Switch Container로 구조를 조합할 수 있습니다. 이 모든 것은 Wwise에서 몇 분 만에 조합할 수 있습니다. 그리고 코드에서는 각 발자국에 '발자국 소리 재생' Event를 연결하고 '지표면'과 '속도'가 변함에 따라 이에 대한 값을 설정하기만 하면 되죠.

 

또 다른 예시를 들어봅시다. 어택 부분, 꼬리 부분, 그리고 가까이에서만 들을 수 있는 '장치' 레이어로 구성된 무기 사운드가 있으며 각 레이어에 변형이 담겨 있다고 가정해봅시다. 이 사운드는 세 개의 Random Container를 조합하는 Blend Container를 사용하여 조합할 수 있습니다. 그리고 장치 레이어를 다양한 시간으로 지연할 수 있습니다. 물론 이 사운드 구조도 몇 분 만에 조합할 수 있으며 하나의 Event를 통해 모두 유발시킬 수 있답니다.

 

이러한 작동 방식을 처음부터 구현하고 시험해보려면 시간이 꽤 걸리며 저작 UI만큼 빠르게 작업을 완료할 수 없을 것입니다. 믿으셔도 됩니다! 제가 Unity를 사용해서 시도해봤기 때문에 잘 알고 있죠. 이러한 기본적인 컨테이너 유형을 구현하는 것 만으로 Level B 라이선스 비용만큼 예산이 들 겁니다. 뿐만 아니라 Wwise를 사용할 경우와 비교해 작업 과정 또한 간소하지 않으며 역량 또한 제한적일 가능성이 크죠.

 

프로파일러

Profiler.png

Wwise의 가장 강력한 기능 중 하나는 바로 Profiler(프로파일러)입니다. Profiler는 게임을 실행하는 도중 저작 도구를 게임에 연결해주며 사운드 엔진에 일어나는 모든 일을 모니터링합니다. 수신되는 Event와 함께 사운드 시작, 정지, 혹은 볼륨과 위치 지정 정보의 변경 등 이에 따라 일어나는 Action이 실시간으로 표시됩니다. 뿐만 아니라 오류 메시지, 매개 변수 값, 리소스 사용 또한 표시할 수 있죠. Profiler는 디버깅과 최적화를 실행할 수 있는 훌륭한 도구이며 사운드가 의도한 대로 작동되지 않을 경우 그 이유를 빠르게 식별할 수 있어 많은 시간을 절약해줍니다.

 

현재 주요 엔진이 제공하는 도구 중에서 이 Profiler 만큼 '독창적인' 오디오 도구 세트는 없으며 Profiler의 기능을 독립적으로 구현하는 것은 엄청난 시간과 두뇌를 필요로 할 것입니다. 여기서 질문은 '구현하는 데 얼마나 들까요?'가 아니라 '이게 없으면 비용이 얼마나 들까요?'입니다. 똑같은 버그 하나라도 Profiler를 사용하면 사운드 디자이너가 빠르게 진단하고 고칠 수 있지만, 이게 없다면 프로그래머의 지원 및 대규모의 QA 시험뿐만 아니라 사운드 디자이너가 고치는 데 추가적인 시간이 필요할 수 있기 때문이죠. 전형적으로 프로젝트를 진행하는 동안 수십 가지의 버그가 발생할 수 있다는 점을 감안할 때, Wwise를 사용하면 적어도 며칠, 혹은 몇 주간의 작업을 절약할 것을 예상할 수 있습니다.

 

실시간 편집

Authoring Tool(저작 도구)가 게임에 연결되어 있을 때 (Profiler에 사용하는 동일한 연결을 통해) 실시간으로 편집할 수 있습니다. 이 기능은 우리가 게임을 실행하는 동시에 음향을 믹스하고 미세 조정할 수 있게 해줍니다. 실시간 편집 중 일부 게임 엔진이 작동하는 방식과 달리 Wwise는 세션이 끝날 때 변경 사항이 유지됩니다. 이러한 점은 레벨 믹싱에 아주 유용할 뿐만 아니라 RTPC 매핑, 감쇠, 효과 센드, 타이밍 속성, 혼합 등 수많은 사운드 속성과 작동 방식을 맥락에 따라 미세 조정할 수 있게 해줍니다. 이러한 실시간 편집은 사운드 디자이너가 작업을 반복하는 데 걸리는 시간을 줄여주며 믹싱과 조정의 정확도를 높여서 궁극적으로 품질을 향상시켜 줍니다.

 

동적 믹싱

Dynamic_Mixing.png

Wwise는 또한, 게임 Event와 State 및 어느 시점에서든 재생할 수 있는 콘텐츠에 대해 동적 싱을 제어하는 다양한 방법을 제시합니다. HDR(High Dynamic Range, 고동적 범위)은 보다 조용한 사운드를 억제하고 보다 큰 소리의 인지적 라우드니스(역주: 인간이 주관적으로 느끼는 감각적 음량)를 높여서 재생 중인 컨텐츠의 라우드니스에 따라 믹스를 조정하도록 해줍니다. State는 Bus의 볼륨, Filtering(필터링), Effect(효과)를 변경할 수 있습니다. 또한 Ducking(덕킹) 또한 몇 번의 클릭 만으로 설정할 수 있습니다.

 

기본적인 덕킹 시스템은 주어진 유형의 사운드 재생 여부만 구분하기 때문에 구현하기 쉬운 편입니다. 하지만 미터링 방식의 덕킹 (Side-Chaining(사이드 체인))과 유연한 State 믹싱은 구현이 쉽지 않으며 특히 HDR은 엄청나게 복잡할 수 있습니다. Wwise 없이 이를 구현하려면 며칠, 또는 몇 주가 걸릴 것입니다.

 

상호작용 음악 시스템

Interactive_Music.png

대부분의 게임은 일종의 상호작용 혹은 동적 음악을 필요로 합니다. 이러한 음악은 게임 엔진에서 가장 잘 지원되지 않는 오디오 분야 중 하나죠. Wwise의 솔루션은 접근하고자 하는 모든 방식을 지원할 수 있을 만큼 유연하며 샘플의 정확한 동기화와 쉽게 구성할 수 있는 전환 효과를 제공합니다. Wwise는 State로 연동되는 시스템입니다. 다시 말해 게임이나 레벨 시작 후, 단지 음악 시스템을 시작하고 필요에 따라 State를 설정하는 것 외에 별다른 작업이 필요 없습니다.

 

타이밍이 정확하고 (음악 동기화에 필수적이죠) 사용하기 쉬운 상호작용 음악 플레이어를 프로그래머가 구현하려면 아무리 Wwise의 시스템과 비교하여 완전히 기초적인 시스템일지라도 몇 주가 걸릴 것입니다.

 

현지화 지원

상호작용 음악과 마찬가지로 VO 현지화 또한 대부분의 게임 엔진이 기본적으로 잘 지원하지 않는 분야 중 하나입니다. 하지만 Wwise에서는 너무나도 쉽게 작업할 수 있는 분야입니다. 대응하는 이름의 에셋을 드래그한 후 가져오기 대화창에서 해당 언어를 설정하기만 하면 됩니다. 그리고 코딩 측면에서는 언어를 설정하는 함수 하나만 호출하면 됩니다.

 

플랫폼 지원

크로스 플랫폼 개발은 일반적인 범용 엔진이 특히 강점으로 하는 부분이며 여기에는 오디오도 포함됩니다. 하지만 Wwise는 여전히 뭔가 남다른 것을 제공하고 있습니다. Wwise에서는 ShareSet (아래 참고)를 통해 컴프레션과 포맷 변환을 거시적이고 미시적인 수준에서 포괄적으로 제어할 수 있는데, 이는 플랫폼 별 콘텐츠 최적화를 빠르고 효과적으로 만들어주는 데 아주 큰 역할을 하죠.

 

Soundcaster (사운드캐스터) / 프로토타입화

Soundcaster_-_Prototyping.png

Wwise의 설계에 있어 가장 중심이 되어 왔던 원칙은 바로 사운드 디자이너가 게임 코드에 최소한으로 의존하면서 사운드 작동 방식을 최대한 제어할 수 있도록 힘을 실어주는 것입니다. 무기를 발사할 경우 게임은 Wwise에 Event를 게시하기만 하면 되죠. 레이어링, 랜덤화, 사운드 요소 시퀀싱, 심지어 다른 사운드를 변경하는 등 앞으로 일어날 모든 일들은 바로 사운드 디자이너의 손에 달려있는 것입니다.

 

Soundcaster는 이러한 작동 방식을 게임에 구현하기 전, 혹은 게임이 허용하는 것보다 더 제어된 환경에서 게임 입력을 시뮬레이션하여 사운드 디자이너가 작동 방식을 오프라인으로 시험할 수 있게 해줍니다. 따라서 오디오와 코드 간에 의존성을 깨뜨린다는 컨셉은 코드를 작성하기 전에 구현 설계를 시험할 수 있게 해주죠. 결과적으로 신속한 프로토타입화 환경에서 무엇이 가능한지 명확하게 밝혀내고 시간이 걸리며 값비싼 코드 작업의 반복을 제거해줍니다.

 

ShareSet (공유세트)

ShareSet는 아마도 가장 잘 알려지지 않았지만 굉장히 가치가 있는 Wwise의 기능 중 하나일 것입니다. ShareSet는 근본적으로 Attenuation, Modulator, Effect, Conversion Settings의 재사용 가능한 설정 템플릿입니다. 그다지 매력적으로 들리는 기능이 아닐 수도 있습니다. 하지만 주목해주세요. 이 ShareSet는 사운드 디자이너가 거시적인 수준의 변경 사항을 만들고 미세한 세부 정보의 조정의 관리를 아주 효율적으로 수행할 수 있게 해준답니다.

 

아주 좋은 예시로 플랫폼의 최적화를 들 수 있습니다. 게임을 출시할 준비가 되었는데 PS4의 SoundBank가 메모리 예산을 초과한다고 가정해봅시다. 초과하는 이 4MB를 어떻게 깎아내릴 수 있을까요? ShareSet를 사용하면 컴프레션 설정을 조정하여 플랫폼 전체에 영향을 미칠 수 있습니다. 또는 전체 유형의 사운드에 맞춤 설정을 만들어 압축율을 변경하고, 다운샘플링하고, 심지어 강제로 모노로 줄여서 메모리 사용과 품질 간 균형을 맞출 수 있습니다.

 

동일한 방식으로 대규모나 소규모 유형의 사운드에 감쇠 설정을 적용하여 변경하고자 하는 모든 사운드에 변경 사항을 한 번에 적용할 수 있습니다.

 

이러한 기능은 시간, 효율성, 프로젝트의 관리에 있어 큰 장점을 가져다줍니다. 이러한 장점의 주요 수혜자는 바로 사운드 디자이너입니다. Wwise에서 사운드 디자이너는 설정을 변경하고, 시험하고, 다시 또 변경하는 데 시간을 낭비할 필요 없이 음향의 품질을 완벽하게 하는 데 전념할 수 있기 때문이죠.

 

결론

그래서 Wwise가 프로젝트에 전반적으로 어떤 이점을 주는 걸까요? 요약하자면, Wwise는 사운드 디자이너의 시간을 상당히 줄여주고, 효율적인 작업 과정을 확립하고, 콘텐츠를 제작하고 프로젝트 음향 품질을 높이는 데 집중할 수 있게 해줍니다. 또한 Wwise는 제어력과 창의적인 기능을 사운드 디자이너에게 맡겨서 코딩 시간을 최소화해주며, 이는 곧 프로그래머의 몇 주 혹은 몇 달 치 리소스를 최상의 목적으로 사용하도록 해주어 최적의 게임이나 프로젝트를 제작할 수 있게 해줄 것입니다.

 

CIARAN WALSH (키어런 왈쉬)

사운드 디자이너

Hornet Sound

CIARAN WALSH (키어런 왈쉬)

사운드 디자이너

Hornet Sound

Ciaran은 16년 경력의 사운드 디자이너이자 프로그래머 겸 작곡가입니다. Ciaran은 굉장히 높은 평가를 받은 우주 전투 게임인 Fractured Space 제작에 참여했으며 많은 매니아들의 사랑을 받은 상호작용 음악 퍼즐 게임인 Chime의 창시자이기도 합니다.

 @mistercw

댓글

댓글 달기

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

다른 글

Wwise와 REAPER의 연결: Part 2 - ReaOpen

ReaOpen은 오디오 파일을 선택하고 원래의 REAPER 프로젝트를 쉽게 열 수 있는 무료의 가벼운 프로그램입니다. Windows와 Mac 모두에서 실행되며 Wwise,...

7.4.2020 - 작성자: 니콜라 루키치 (NIKOLA LUKIĆ)

Mystralia의 마법적이고 역동적인 음악 사운드스케이프 만들기

Mages of Mystralia는 주인공 지아(Zia)가 마법의 기술을 배우는 매력적이고 다채로운 액션 어드벤처 게임입니다. Borealys Games의 작곡자이자 사운드...

23.6.2020 - 작성자: 안토이네 바숀(ANTOINE VACHON)

합성 만으로 빗소리 만들기

몇 년 전 저는 원하는 모든 사운드를 합성할 수 있을까 하는 궁금증이 생겼습니다. 바람, 새의 노랫소리, 곤충 소리 등 다양한 자연 소리를 합성하기 시작했죠. 이런 작업에서는...

3.9.2020 - 작성자: 알렉산더 킬코(ALEKSANDR KHILKO)

사운드 디자이너가 PureData + Heavy를 사용하여 DSP 플러그인을 개발하는 법 - 제 1부

많은 사운드 디자이너들이 오디오 플러그인 개발을 오디오 프로그래머의 '흑마법' 영역이라 생각합니다. 보통 코딩 기술뿐만 아니라 수학, 물리학, 디지털 신호 처리 등 사운드...

17.11.2020 - 작성자: 천종 호우 (Chenzhong Hou)

Wwise Unity 커닝 페이퍼

Wwise Unity 통합에 대해 말해봅시다. 언제든지 참조할 수 있는 수년간 제작된 교육 자료가 꽤나 많습니다. Audiokinetic 교육 자료로 말하자면 Youtube에도...

2.2.2021 - 작성자: 매스 마라티 소노로 (MADS MARETTY SØNDERUP)

Wwise 2021.1에서 시도해볼 10 가지

Wwise 런처에서 Wwise 2021.1을 다운로드할 수 있게 되었다는 소식입니다. 오브젝트 기반 파이프라인, 방사 이미터(radial emitter), WAQL을 포함한 다양한...

9.6.2021 - 작성자: 매스 마라티 소노로 (MADS MARETTY SØNDERUP)

다른 글

Wwise와 REAPER의 연결: Part 2 - ReaOpen

ReaOpen은 오디오 파일을 선택하고 원래의 REAPER 프로젝트를 쉽게 열 수 있는 무료의 가벼운 프로그램입니다. Windows와 Mac 모두에서 실행되며 Wwise,...

Mystralia의 마법적이고 역동적인 음악 사운드스케이프 만들기

Mages of Mystralia는 주인공 지아(Zia)가 마법의 기술을 배우는 매력적이고 다채로운 액션 어드벤처 게임입니다. Borealys Games의 작곡자이자 사운드...

합성 만으로 빗소리 만들기

몇 년 전 저는 원하는 모든 사운드를 합성할 수 있을까 하는 궁금증이 생겼습니다. 바람, 새의 노랫소리, 곤충 소리 등 다양한 자연 소리를 합성하기 시작했죠. 이런 작업에서는...