Wwise 오디오 플러그인을 제작하는 간단한 과정

상호작용 오디오 / 사운드 디자인 / Wwise에 대한 팁과 도구

Wwise용 오디오 플러그인을 개발하는 것은 디지털 오디오 편집 프로그램 (DAW)에서 플러그인을 개발하는 것과 꽤 다릅니다. Wwise는 상호작용적이며 수많은 플랫폼을 지원하기 때문에 초보자가 모든 것을 이해하기가 매우 복잡하죠. 저희가 내부적으로 도구를 개발했음에도 불구하고 저희 플러그인 개발 파이프라인은 이해하기가 너무 어려워서 새로운 플러그인을 만드는 데 어려움을 겪었습니다. 그래서 더 많은 플러그인 개발자가 사용할 수 있도록 저희가 내부적으로 개발한 도구를 단순화하고 재작성하는 시간을 갖기로 했습니다. 이 글을 통해서 새로워진 도구를 자세히 살펴보고 이 도구를 이용해 Wwise용 오디오 플러그인을 직접 만들 수 있는 방법을 배워보세요!

잠깐, 근데 제 도구는 어디 있죠?

플러그인 개발 도구는 Wwise 2018.1.3.6784에서 처음 소개되었으며 현재 Wwise Launcher에서 다운로드하실 수 있습니다. 이 글을 따라서 플러그인을 직접 개발하시려면 플러그인 개발 도구와 Windows_vc140 SDK 플랫폼을 시스템에 설치하세요. 그리고 Python(모든 버전 사용 가능)과 Visual Studio 2015를 설치하셔야 합니다. 도구 자체는 /Path/To/Wwise 2018.1.3.6784/Scripts/Build/Plugins/wp.py에 있는 단일 진입점을 통해 접근하실 수 있습니다. 이 글에서는 간단히 wp를 사용해서 wp.py로의 전체 경로를 지정하겠습니다.

 

1

좀 더 수월한 작업을 위해 기본 틀 다지기

샘플은 정말 굉장하죠. 샘플을 사용하면 특정 프레임워크가 실제 환경에서 사용될 수 있는지를 확인할 수 있습니다. 이런 프레임워크를 처음 시작할 때 굉장히 중요한 부분이죠. 하지만 샘플을 살펴본 다음에는 어떻게 하나요? 제작하려는 애플리케이션에 가장 가까운 샘플의 중요하지 않은 부분을 삭제한 다음 거기에서부터 작업하시나요? 저는 개인적으로 이 과정에서 오류가 발생하기 쉬운 것 같아서 되도록이면 이 방법을 사용하지 않으려고 합니다. 이 문제를 해결하고 새로운 플러그인 제작 환경을 더 쾌적하게 하기 위해 저희는 가장 보편적인 플러그인 타입(효과, 음원, 싱크, 믹서)에서 사용할 때 기본 틀을 잡아주는 플러그인 생성기를 제작했습니다.

3-4

생성된 프로젝트에는 플러그인 제작을 시작하는 데 필요한 모든 파일이 담겨 있어요. 이 프로젝트에는, 아직은 거의 비어 있지만 작동할 수 있는 Sound Engine과 Wwise Authoring 플러그인의 코드뿐만 아니라 조금 있다 살펴볼 몇몇 설정 파일이 들어 있습니다.

몇 번이고 빌드하세요. 어디에서든 작동합니다.

Wwise가 지원하는 플랫폼은 정말이지 엄청나게 많습니다. 개발자에게는 놀라우면서도 불행한 소식이라고 할 수 있죠. 먼저, 게임 개발자가 지원되지 않는 플랫폼이 있지는 않은지 걱정할 필요 없이 Wwise를 엔진에 쉽게 통합할 수 있다는 장점이 있습니다. 반면, 플러그인 개발자 입장에서는 모든 플랫폼을 다 지원해야 하니 골머리를 앓기 마련이죠. 특히 일부 플랫폼은 라이선스까지 필요하니까요. 한 가지 대안으로 Windows 전용 플러그인을 제작해서 Wwise 안에서 효과를 미리 렌더링하는 방법을 사용할 수 있지만 그럴 경우 플러그인의 상호작용성이 아예 없어지게 됩니다.

 

새로운 개발 도구를 사용하면 Wwise가 지원하는 모든 플랫폼용으로 제작하고 관리하기가 훨씬 쉬워집니다. 여전히 해당 플랫폼의 개발 도구를 설치해야 하지만, 그러고 나면 간단히 wp만 호출하면 돼요.

 

4
 
5

빌드 결과는 wp가 호출되는 Wwise 폴더로 직접 출력되기 때문에 빌드-테스트-조정 주기를 예전보다 훨씬 짧게 해줍니다. 

 

6

패키징의 신비로움

저는 개인적으로 패키징은 개발 과정에서 그냥 신비롭게 실행되어야 하는 부분이라고 생각합니다. 패키징 시스템을 직접 다시 구현하거나 작업해야 한다는 사실 하나를 깨우치겠다고 굳이 패키징 시스템의 작동 방식을 배울 필요는 없으니까요.

7

8

패키지 하위 명령은 주어진 플랫폼의 지정된 위치에서 빌드 결과물을 자동으로 가져오며 .tar.xz 포맷으로 보관합니다. 생성 번들 하위 명령은 모든 플랫폼이 패키징된 후에 실행되어야 하는 가장 마지막 단계입니다. 이 단계는 여러분의 플러그인 루트 폴더에 있는 bundle_template.json에서 bundle.json 파일을 생성해요. bundle_template.json 파일은 주석을 사용하여 자체적으로 문서화되며 플러그인에 대한 정보를 입력하기 위해 명령을 실행하기 전에 편집할 수 있습니다. 그런 다음 이 두 단계로 인해 생성되는 파일은 Wwise Launcher를 통해 공유하고 설치할 수 있습니다.

 

9

Wwise 플러그인을 넘어서

대상 호스트가 Wwise이든 DAW이든 상관없이 오디오 플러그인은 오디오 플러그인이에요. 대상 호스트의 일부 특정 사항을 떼어놓고 보면 모든 오디오 플러그인은 몇몇 디지털 신호 처리 코드를 구동하기 위해 실시간으로 편집할 수 있는 매개 변수를 가진 유저 인터페이스를 가지고 있습니다. 다시 말해 거의 동일한 코드 기반을 사용해서 Wwise와 DAW 둘 다 대상 호스트로 할 수도 있죠.

최근에 저는 JUCE 오디오 플러그인 개발 프레임워크를 사용해서 이 가능성을 연구해봤습니다. 그리고 올해 오디오 개발자 컨퍼런스(ADC 2018)에서 그 결과를 발표했어요.

 

 여기에서 발표 자료를 확인하세요.

JUCE를 사용해서 Wwise용 오디오 플러그인을 제작하는 데 관심이 있으시다면 제가 발표한 Voluminous를 읽어보세요. 제 사례 연구서는 Github에서 확인하실 수 있습니다.

2018-10-22_20-33-32

2018-10-22_20-36-23

 

 
Screen Shot 2017-12-14 at 5.24.24 PM.png

Audiokinetic 스토어에 여러분의 플러그인을 뽐내고 싶으신가요?

Subscribe

 

조엘 로비쇼 (Joel Robichaud)

소프트웨어 개발자

Audiokinetic

조엘 로비쇼 (Joel Robichaud)

소프트웨어 개발자

Audiokinetic

조엘 로비쇼는 컴퓨터 음악과 컴퓨터 공학 학위를 가진 소프트웨어 개발자입니다. 조엘은 Audiokinetic의 Wwise Experience 팀에서 Wwise Authoring과 Wwise Launcher와 같은 사용자가 직접 마주하는 소프트웨어 쪽을 주로 작업하고 있습니다.

 @joelrobichaud

댓글

댓글 달기

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

다른 글

Wwise / Unreal Engine 4 / Unity 3D를 사용해 발자국 소리의 표면 관리하기

사전 제작의 초기 단계에서 사운드 디자이너는 많은 시스템을 프로토타입화해야 하는데, 이를 도와줄 오디오 프로그래머가 없는 경우도 있죠. 다행히도 Wwise는 Unreal...

17.7.2019 - 작성자: 세바스티앙 겔라르 (Sébastien Gaillard)

게임의 사회성에 큰 역할을 하는 음성 채팅: Wwise GME 서비스 시작!

상호작용 요소가 많은 인기 게임의 사운드는 잘 만들어진 게임 자체의 '개별적인 캐릭터'를 뒷받침해줄 뿐만 아니라 더 풍부한 플레이 경험을 제공하고 게임 시스템을 강화하는 데 큰...

8.1.2020 - 작성자: 시몽 아슈비 (Simon Ashby)

Wwise와 REAPER의 연결: Part 1 - WAAPI 전송

WAAPI Transfer가 새로운 것은 아니지만, 그것에 대한 충분한 이야기가 없는 것 같습니다. WAAPI는 REAPER의 오디오 에셋을 Wwise 프로젝트로 직접 내보낼 수...

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

라우드니스를 처리하는 최상의 방법, 제 3강: 게임을 위한 측정 가능한 라우드니스 처리

우리는 대부분의 경우 복잡한 사운드를 다룹니다. 게임에서는 각 사운드가 전반적인 출력 라우드니스에 기여합니다. 영화나 텔레비전 제작과 달리 작은 세그먼트의 다이내믹과 주파수 반응을...

27.5.2020 - 작성자: 지에 양 (Jie Yang, 디지몽크)

Wwise Unity 커닝 페이퍼

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

2.2.2021 - 작성자: 매즈 마레티 손더업(MADS MARETTY SØNDERUP)

가상 현실을 위한 훌륭한 잔향 제작하기

이 시리즈에서는 과거, 현재, 그리고 새로운 잔향 기술을 집중적으로 살펴보고 몰입적 공간적 관점에서 이 기술을 검토해봅니다. 이전 글에서 저희는 왜 가상 현실에서 몰입적인 잔향을...

17.2.2021 - 작성자: 베느와 알라리(BENOIT ALARY)

다른 글

Wwise / Unreal Engine 4 / Unity 3D를 사용해 발자국 소리의 표면 관리하기

사전 제작의 초기 단계에서 사운드 디자이너는 많은 시스템을 프로토타입화해야 하는데, 이를 도와줄 오디오 프로그래머가 없는 경우도 있죠. 다행히도 Wwise는 Unreal...

게임의 사회성에 큰 역할을 하는 음성 채팅: Wwise GME 서비스 시작!

상호작용 요소가 많은 인기 게임의 사운드는 잘 만들어진 게임 자체의 '개별적인 캐릭터'를 뒷받침해줄 뿐만 아니라 더 풍부한 플레이 경험을 제공하고 게임 시스템을 강화하는 데 큰...

Wwise와 REAPER의 연결: Part 1 - WAAPI 전송

WAAPI Transfer가 새로운 것은 아니지만, 그것에 대한 충분한 이야기가 없는 것 같습니다. WAAPI는 REAPER의 오디오 에셋을 Wwise 프로젝트로 직접 내보낼 수...