이미지 기반 파라미터를 이용한 오픈 월드 앰비언트 디자인

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

Blend Container는 강력한 시퀀싱 및 믹싱 도구가 될 수 있습니다. 단순히 그것의 기능을 배우는 것이 게임 사운드 디자이너의 생각에 온갖 종류의 새로운 아이디어를 가져다줄 수 있습니다. 이것은 특히 RTPC의 힘과 게임 디자이너 및 프로그래머와의 적당한 양의 브레인스토밍이 결합할 때 더욱 그렇습니다.

최근의 Blend Container 아이디어 한 가지를 여러분과 공유하려고 합니다. 이것은 풍경 주변의 앰비언트 오디오 영역을 "페인팅"하는 좋은 방법이 될 수 있습니다. 이것은 두 가지 다른 단계로 발전했으며, 두 가지 단계 모두 간략히 설명하겠습니다.

제가 여러분과 공유하고자 하는 모든 사진, 오디오 에셋 및 접근 방식은 프로토타입 시나리오의 일부입니다. 여기 우리가 설명을 위해 사용할 맵 일부분의 항공 사진이 있습니다.

A 3D Perspective with a small viewable area - Wwise

가시 영역이 작은 3D Perspective(3D 관점).

 

2단계 중 1단계 개발

이 맵의 게임 플레이는 주로 여러분이 물속에서 수영하거나 상어처럼 물가에서 돌아다니는 동안 이루어집니다. 파도가 몇 피트나 되는 깊은 바다에 접근할 수도 있고, 내륙의 물이 매우 잔잔한 바다에서 멀리 여행할 수도 있습니다. 저는 파도 에셋을 트리거 시키기 위해 일련의 액터들과 함께 앰비언트 오디오를 구현하기 시작했습니다. 하지만 이것은 주변의 물이 정적으로 들리거나, 비주얼과 분리되어 있기 때문에 좋은 해결책은 아니었습니다. 수영은 이 타이틀에서 근본적인 부분이기 때문에, 보이고 느껴야 하며, 그리고 강렬한 소리를 내야 합니다. 이 맵의 파도는 다이내믹하므로 오디오 이벤트 또한 그래야 합니다. 어딘가에 새로운 RTPC 값이 있었고, 우리는 그것을 찾으려고 했습니다.

만약 언제, 어떻게 파도의 높이를 조절할 수 있는 게임 값이 있다면, 그 값을 RTPC로 사용하여 파도 에셋의 다이내믹 믹스를 제어할 수 있을지도 모른다는 생각이 들었습니다.

I asked our game producer about the ocean wave modulation and he explained how it worked. Then I asked him to explain it in a way that a sound designer might understand, and it began to make sense. Basically, the ocean wave modulation is created by mapping a world space coordinate to a UV coordinate in the HeightMap and then the color information is read from a pixel. The code that influenced the RTPC value we ended up creating is part of an Ocean Simulation, Weather and Dynamic TOD 시스템이라는 언리얼 커뮤니티 프로젝트의 일부입니다..

 

RTPC 값의 이름은 WaveHeight로 지정했습니다. 값이 0이면 파도 변조가 없으며, 1에서는 가장 다이내믹한 파도 변조가 있습니다. 저는 세 개의 트랙이 있는 Blend Container를 만들었습니다.

Blend Container and RTPC Value - Stage 1 of 2 - Wwise

Blend Container와 RTPC Value – 1 단계

 

그림의 Blend Track은 위에서부터 차례대로 Big Waves, Medium Waves, 그리고 Light Waves 입니다. Wave Height RTPC가 각 트랙의 빨간색 엔벨로프에서 볼륨을 제어하는 것을 볼 수 있습니다.

이 시나리오는 정적이었던 앰비언트 액터보다 훨씬 잘 작동했지만, 이 설정에는 두 가지 주요 문제가 있었습니다. RTPC 값은 때때로 일관성 없는 값으로 점프를 해서 신뢰성이 있거나 매끄러운 트랜지션을 생성하지 못하는 경우가 있었습니다. 또한, 여러분이 해변에 가까이 있을 때 파도 높이는 이미 0이었습니다. 이것은 우리가 해변 해안 근처에서 듣는 배경 물 행동(background water behavior)이 강과 운하의 내륙에서 듣는 것과 똑같다는 것을 뜻했습니다. Wwise와 함께 게임 오디오를 구현할 때 이런 상황이 종종 있기 때문에, 더욱 명쾌한 옵션이 있었습니다.

 

2단계 개발

HeightMap에서 RTPC로 값을 변환하는 것이 시작점이었지만, 간단한 컬러 채널을 사용하여 RTPC를 구동하는 것이 우리가 다다른 결과였습니다. Photoshop에서는 2D World Texture 위에 있는 주변 지역을 "그려(draw)" 지도화할 수 있었습니다.

A 2D World Texture - RTPC Value Stage 2 of 2 - Wwise

2D World Texture - RTPC Value 2 단계

 

바다는 Wave Height RTPC 값이 1인 순백색입니다. 내륙 물 공간은 Wave Height RTPC 값이 0인 검정색입니다. 해안 근처의 트랜지션 영역은 약 0.2에서 0.8까지의 회색 강도로 블렌드 됩니다. 이로써 프로세싱과 보이스 카운트가 매우 원활하고 효율적으로 되었고, 3개 영역 간에 많은 컨트롤을 제공해 주었습니다.

 

2D World Texture map converted into colors with Photoshop - RTPC Value Stage 2 of 2 - Wwise

포토샵을 이용하여 컬러로 전환된 2D World Texture 맵 – RTPC Value 2단계

 

이 두 번째 Blend Container에 4번째 Blend Track이 추가되었습니다. 이 에셋은 매우 젠틀한 내륙 물의 철렁임으로 이루어져 있었습니다. 바다 앰비언스는 바로 위의 Blend Track으로, Wave Height RTPC 값에서 약 0.2를 찍습니다.

 

“WaveHeight” Blend Container - Stage 2 of 2 - Wwise

“WaveHeight” Blend Container – 2단계

 

게임 속 2단계 Blend Container의 영상 캡처입니다. 매우 작긴 하지만 Wave Height RTPC 값은 편집기 화면의 왼쪽 상단 모서리에 표시되고 있습니다. 보라색 텍스트로 표시됩니다.

시연 영상

 

이 주변 영역 그리기 방법은 다양한 오디오 이벤트에 사용할 수 있습니다. 현재 빨간색 채널만 사용하고 있지만, 파란색과 녹색도 새로운 RTPC 값으로 색칠되기를 기다리고 있습니다!

 

 

 

톰 토디아 (TOM TODIA)

톰 토디아 (TOM TODIA)

톰은 게임 오디오 콘트렉트 그룹인 Engine Audio의 공동 소유자이자 오디오 개발자입니다. 톰은 20년 동안 오디오 프로덕션에서 일해왔고, 현재 풀 세일

 @EngineAudioTom

댓글

댓글 달기

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

다른 글

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

Wwise용 오디오 플러그인을 개발하는 것은 디지털 오디오 편집 프로그램 (DAW)에서 플러그인을 개발하는 것과 꽤 다릅니다. Wwise는 상호작용적이며 수많은 플랫폼을 지원하기...

27.8.2019 - 작성자: 조엘 로비쇼 (Joel Robichaud)

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

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

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

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

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

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

머더러스 퍼수츠(Murderous Pursuits)의 대사와 대화 설계 - 제 2부

안녕하세요, 머더러스 퍼수츠의 대화와 대사 시스템의 제 2부로 다시 돌아온 제이미입니다. 제 1부를 아직 보지 않으셨다면 여기를 클릭하여 읽어주세요! 제 1부에서는 게임에서의...

20.5.2020 - 작성자: 제이미 크로스(JAIME CROSS)

WAAPI 간소화하기

Wwise 저작 API (Wwise Authoring API, WAAPI)를 사용하신 적이 없으시다면 이 글을 통해 사용해볼 기회가 생기기를 바랍니다. 네, 프로그래머가 아닌...

4.11.2020 - 작성자: Adam T. Croft

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

제 1부에서는 Patch 파일을 사용하여 '블루프린트'를 제작하는 법을 설명해 드렸습니다. 이제 Heavy 컴파일러를 사용하여 '자동 워크숍'을 제작한 후, 이 자동 워크숍을...

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

다른 글

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

Wwise용 오디오 플러그인을 개발하는 것은 디지털 오디오 편집 프로그램 (DAW)에서 플러그인을 개발하는 것과 꽤 다릅니다. Wwise는 상호작용적이며 수많은 플랫폼을 지원하기...

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

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

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

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