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

게임 오디오 / 공간 음향

블로그 1부를 읽어주세요!

다양한 게임 플레이를 지원해주는 Wwise 컨트롤

앞서 말씀드렸듯이 이 게임에서는 카메라의 위치가 자주 변경됩니다. 표준 후면 시점부터 시작해서 탑 뷰, 측면 뷰, 슈팅 뷰와 같은 다양한 뷰로 전환할 수 있기 때문에 공간 음향 효과 또한 모든 뷰에 따라 변경하고 조정해야 했어요.

・리스너의 위치를 상호작용적으로 변경

먼저 저희는 기본 리스너 위치를 어디로 설정해야 할지 알아내야 했습니다. 그리고 게임 액션의 생생함을 표현하기 위해 다양한 카메라 각도의 음향 균형을 맞춰본 결과 가장 최적의 기본 리스너 위치가 플레이어 바로 근처라는 결론을 내렸습니다.

리스너가 캐릭터 근처에 있기 때문에 카메라 각도가 바뀌더라도 믹스와 감쇠의 기본적인 균형이 급격하게 변하지 않기 때문에 음향이 이상하게 바뀌는 것을 느끼지 않고 사용자가 계속해서 게임을 플레이할 수 있죠.

 

Picture14

기본 리스너 위치

슈팅 뷰를 제외하고 탑 뷰, 후면 뷰, 대부분의 측면 뷰에서 이 기본 리스너 위치를 알맞게 사용할 수 있었습니다. 하지만 컷씬과 같은 경우 특별한 척도를 사용해야 했어요.

이 씬은 꽤 특별합니다. 왜냐하면 2B들이 극장에 모여서 적군인 기계 생명체들이 연극하는 모습을 바라보는데, 플레이어가 무대와 별로 가깝지 않기 때문에 기본 리스너 위치를 사용할 경우 극장에서 들리는 소리가 원하는 만큼 크게 들릴 수 없기 때문이죠. 이런 씬의 경우 사운드 디자이너가 필요한대로 리스너 위치를 전환할 수 있는 함수를 넣었습니다.

 

Picture15

무대와 플레이어 간의 거리
(거리 안에 있는 작은 빨간 점은 리스너의 위치입니다)

 

Picture16

리스너의 위치를 기본에서 무대 중심으로 옮김
(11번 프리셋)

저희는 몇 가지 리스너 위치를 프리셋으로 만들어 사운드 디자이너가 특정 영역이나 Wwise Event를 통해 변경할 수 있게 했습니다.

 

Picture17

이전 씬에서의 Wwise Event Editor
(리스너 프리셋 선택 변경)

리스너 위치가 변경되면 매개 변수가 보간되어 3D 위치를 사용하는 사운드가 급격하게 변경되지 않도록 해줍니다. 이러한 전환 지점에서의 매끄러운 오디오 전환은 저희 감독인 요코 씨에게 아주 중요했습니다. 그래서 저희는 게임 전체에서 전환 효과가 매끄럽고 자연스러울 수 있도록 노력했습니다.


・특별 감쇠
 
감쇠 설정의 경우 특별한 카메라 각도를 위해 사용되는 몇몇 특수 감쇠 곡선이 있습니다.

실제 게임 씬에서 게임 플레이가 진행되는 도중 카메라는 플레이어에서 멀리 떨어져 무대 전체를 바라봅니다. 잘 보이지 않지만 이 샷에서 플레이어는 작은 빨간 점이 있는 중간 지점에 있습니다. 여기에서 리스너는 플레이어 바로 옆에 있는 기본 위치가 아닌 무대에서 멀리 떨어진 곳에 배치되기 때문에 소리가 좀 더 멀리 들리게 됩니다.

 

Picture18

 .

Picture19

플레이어 캐릭터, 리스너 위치로부터의 거리
(오른쪽 아래 있는 빨간 점은 리스너의 위치를 표시합니다)

리스너의 위치와 플레이어 간의 거리는 항상 고정되어 있습니다. 그렇기 때문에 볼륨이 보다 작아서 멀리 있다는 느낌을 줄 수는 있지만, 적 캐릭터가 평소보다 더 멀리 떨어져 있기 때문에 곧 감쇠 범위에서 벗어나게 되어 적 캐릭터의 효과음을 거의 들을 수 없게 되죠.

현실적으로 이게 더 정확하긴 하지만 플레이어가 더 이상 적 캐릭터를 알아차릴 수 없게 되면 스트레스를 좀 받겠죠. (심지어 여기 있는 자료에서도 적군이 멀리 있어서 너무 작고 보기가 힘듭니다.)

저희는 특정 거리를 넘어선 후에도 사운드가 더 이상 감쇠되지 않는 약간 독특한 감쇠 곡선을 설정했습니다. 이렇게 해서 사용자가 경험할 수 있는 청각적 불편함을 보간하고 해결할 수 있었어요.

Picture20

다양한 음원으로부터 소리 방사 제어

마지막으로 이 게임을 위해 저희가 배포한 사운드 제한 시스템을 소개해드리겠습니다. 이 작품의 일부 씬에서는 수많은 적 캐릭터가 나타나기 때문에 사운드가 제한 없이 모두 재생될 경우 CPU가 바닥날 수 있습니다.

저희는 사운드 시스템을 조정하여 동시에 재생되는 사운드의 수가 50~60 개 사이를 유지하도록 했습니다. 그리고 두 단계를 거쳐 소리의 방사를 제어했습니다.

  1. Wwise Event가 호출되기 전에 게임 프로그램은 자체적인 컨트롤을 사용하여 Event를 제한합니다.
  2. Wwise는 Event가 소리를 방사한 후에 동시에 재생되는 사운드의 수를 제한합니다.

2 단계는 Voice Limit 기능과 Distance 값에 따른 우선 순위를 사용한 일반 절차입니다. 하지만 여기서는 1 단계의 제어 시스템을 설명해 드릴게요.

이 작업에서는 추려내기, 소리 전달 제한하기, 동시 재생되는 사운드 제한하기라는 세 가지 주요 함수가 작동됩니다. 이 모든 함수는 Wwise Event를 호출하기 전에 실행되죠. 이 과정을 사용함으로써 불필요한 Wwise Event 명령의 개수를 줄여 문제를 사전에 방지할 수 있었습니다.

이 제어 함수는 Wwise Event나 감쇠 매개 변수의 노트 입력란에 명령어로 입력되었습니다.

 

Picture21

감쇠 설정 명령어 삽입
(-C = 추려내기,  –L2 = 동시 재생 사운드 제한)



추려내기를 통한 제어

먼저 추려내기 과정은 감쇠의 Max 거리보다 멀리 있는 사운드의 방사를 제거합니다. 이 과정은 수많은 감쇠 매개 변수에 입력됩니다.

명령어
   매개 변수
    설명
-C [level] [distance]
   level 0-15 (def 1),     distance 0-65535 (def 0)
   레벨이 1 이상으로 설정될 경우 Maxdistance보다 더 멀리 떨어진 거리에서 소리를 방사하는 Event가 호출되지 않습니다. 해당 거리 값보다 먼 거리에서 사운드를 방사하는 Event가 추려지기 때문에 'Level' 마다 한 번씩 호출됩니다. 물론 -P와 공존할 수 없습니다.



지나다니는 소리 제어하기

다음은 통과하는 사운드를 제어하는 매개 변수입니다. 이 프로젝트에서는 적들이 떠다니는 소리와 같이 대기 중인 반복 재생 효과음이나 그 외 반복 재생 효과음을 제어하는 데 사용됩니다. 이 캐릭터가 Max 거리보다 더 먼 곳에 배치될 수가 있기 때문에 이 경우 제외되지 않습니다. 그리고 멀리 떨어져 있을 때 Wwise Event가 호출될 경우이 시스템은 Max 거리 범위 안으로 들어올 때까지 Event의 실제 호출을 지연하게 됩니다.

명령어
매개 변수
설명
-P [distance]
distance 0-65535 (def Max distance)
Event가 멀리서 호출될 경우 이 Event는 실제로 정의된 거리 안으로 들어올 때 트리거됩니다. 물론 -C와 공존할 수 없습니다.



동시 재생 사운드 제어하기

마지막으로 MaxDistance 범위 안에서 호출되는 Wwise Event 중에서 특정 Event가 동시에 상당히 많이 호출될 경우 사운드 재생이 제한됩니다. 특정 프레임 내에 이름이 같은 Event가 반복해서 호출될 경우 나중에 일어나는 Event는 호출되지 않습니다.

명령어
매개 변수
설명
-L [frames] [target]
frame 0-63 (def 1) target g or o (def g)
프레임 값이 1 이상으로 설정되었을 때 같은 이름의 Event가 지정된 프레임 값보다 먼저 호출될 경우, 나중 Event가 호출되지 않습니다. 대상 값이 0으로 설정될 경우, 동일한 오브젝트에 의해 호출될 경우에만 제한이 적용됩니다 (부분 번호와 무관).

모든 컨트롤은 사운드 디자이너가 프로그래머의 도움 없이 설정하고 조정할 수 있습니다. 이 부분은 저희에게 가장 중요한 부분이었어요.

오디오를 더욱 상호작용적으로 만들어주는 커스텀 제작 Wwise 플러그인

 

 

 

LoFi 플러그인

Lo-fi 필터는 상대적으로 흔히 사용되지만 플레이어에게 불편하게 느껴지지 않는 로우 파이 사운드를 만드는 것은 어렵습니다. 그렇기 때문에 저희는 이런 효과를 자유롭게 사용할 수 있도록 하는 것이 실시간 음향의 중요한 역할 중 하나라고 생각합니다.

사실 니어 : 오토마타에 사용된 로우 파이 효과는 송신기 음성에 문제가 생기거나 스스로 무언가 잘못되었다고 느끼게 될 경우 사용됩니다. 여러 씬에서 사용되지만 효과 자체는 아주 가볍게 들리도록 제작되었으며 수많은 Audio Bus와 Actor Mixer에 삽입되었죠. 또한 로우 파이 효과는 Multi 이펙터 플러그인의 일부이며 아래 보이듯이 디스토션, 필터링, 플랜져와 같은 다양한 효과가 조합되어 있어요. 이 효과는 이 글의 공동 저자이며 하드웨어 기타 이펙터를 제작해보기도 한 슈지 코하타의 전문성을 잘 보여주는 시스템입니다. 간단한 작업만을 통해 사운드를 효과적으로 변경할 수 있어서 저희 사운드 디자이너들이 정말 감사히 사용하는 시스템이에요.

 

Picture22

 .

Picture23

플레이어 캐릭터 2B가 바이러스에 감염되었을 때 사용되는 로우 파이 매개 변수
* 오염도 수준은 왼쪽 0에서 시작하여 오른쪽으로 갈수록 더 높아지며, 동시에 로우 파이 효과가 더 강해집니다.

다음은 로우 파이 기능의 DSP 다이어그램입니다. 이 다이어그램은 모노럴 시나리오를 보여줍니다. 채널이 여러 개가 있을 경우 각 채널에 동일한 과정이 반복됩니다.

 

Picture24

Lo-fi DSP 다이어그램



・Lo-fi 처리

  1. 샘플 레이트는 일시적으로 50% 혹은 24kHz로 낮춰집니다.
    (처리 부하량을 줄여줄 뿐만 아니라 로우 파이는 높은 샘플 레이트가 필요하지 않기 때문입니다)
  2. 이전 값과 비슷한 값으로 값을 변경한 후 퀀타이징합니다.
    (퀀타이징 후 과도한 잡음과 거친 소리를 방지하기 위해서입니다)
    이전 값과 같을수록 클리핑이 더 심해지며 퀀타이징이 너무 심할 경우 잡음과 거친 소리가 증가합니다. 전반적으로 아주 간단한 시스템이지만 이전 값과 비슷하도록 만드는 과정이 아주 중요하죠.
  3. 샘플 레이트를 다시 되돌리고 결과를 출력합니다.

이렇게 일반적인 처리 한 두 단계만 추가하면 게임을 더욱 몰입적으로 만들 수 있습니다.


Voice Changer 플러그인

 

 

상호작용 오디오와는 별개지만 Voice Changer는 저희가 게임 세계를 표현하기 위해 사용한 중요한 Wwise 플러그인입니다. 플레이어가 특정 게임 조건을 달성하면 선택적 설정을 해제하여 플레이어 캐릭터에 음성 효과를 적용할 수 있어요.

플레이어 캐릭터는 안드로이드 로봇이기 때문에 캐릭터 스스로 목소리를 자유롭게 설정할 수 있어야 한다고 생각했습니다. 그래서 피치 시프트나 로봇 소리와 같은 변형음을 제공하고 있지요.

아래는 피치 시프터, 타임 스트레치, 글리치 효과, 피치 콜렉트와 같은 다양한 기능을 조합한 이펙터입니다.

 

Picture25

실제 게임에서 저희는 열한 개 유형의 프리셋을 준비했습니다. 그리고 사용자가 변경 사항을 쉽게 알아차릴 수 있으며 효과가 서로 겹치지 않도록 매개 변수의 값을 지정했어요. 프리셋을 결정하는 것은 정말 재밌으면서도 어려운 일이었습니다. 상용 이펙터와 신시사이저 프리셋을 제작하시는 분들, 정말 존경스럽습니다...

 

Picture26

이 프로젝트에서 사용하는 음성 캐릭터 매개 변수



기계 생명체의 음성 효과

Wwise와 직접 연관된 것은 아니지만 저희가 기계 생명체들의 음성 효과를 제작한 방법에 대해 질문을 자주 받기 때문에 잠깐 말씀해 드릴게요.

기계 생명체는 적 캐릭터이며 각 생명체에 효과가 적용되어 로봇과 같은 소리를 내도록 해줍니다. 로봇 음성에서 아주 중요한 점은 피치를 일정하게 맞추는 것이었습니다. 다양한 옵션을 제공하는 상용 피치 보정 효과가 많아서 몇 개를 사용해봤어요. 결국 Nuendo의 Pitchcorrect를 사용했지만 다른 것들도 품질이 꽤 좋았고 피치 보정을 깔끔하게 해냈습니다.

Nuendo를 선택한 이유는 원음의 피치 변화에 따라 '깜빡거리는' 소리를 얻을 수 있었기 때문입니다. 다른 데서는 얻지 못한 독특한 소리였죠. 그리고 Formant 기능을 통해 디지털 느낌을 얻을 수 있어서 결과적으로 약간의 인간미가 있는 디지털 효과를 낼 수 있었어요. 또한 피치의 깜빡거림은 기계 생명체가 어리숙하게 인간의 음성 억양을 따라하려는 것처럼 들리기도 했습니다.

 

Picture27

기계 생명체에 사용한 음성 처리 플러그인

개인적으로 저는 이런 디테일이 아주 중요하다고 생각합니다. 어떤 감정이든 절대 드러내지 않는 냉철한 2B 캐릭터와 달리 적들의 기계 생명체는 로봇이지만 따뜻하고 감성적인 소리를 내도록 해주고 싶었어요.

사실 저희는 두 가지 버전의 기계 생명체 음성을 녹음했습니다. 한 버전에서는 최대한 피치를 일정하게 유지했고 다른 버전에서는 피치의 일정화 없이 일반 음성 억양으로 녹음했어요. 그리고 결국 두 번째 버전을 선택했죠.

기계 생명체의 피치를 결정한 후에 저희는 Delay, Flanger, Speakerphone을 사용하여 마치 내부 스피커에서 음성 소리가 나는 것처럼 만들었습니다.

맺음말

개발 과정을 되돌아볼 때 저희는 Wwise를 통해 오디오의 다양한 방면을 성공적으로 제어해냈다는 것을 알 수 있었습니다. 단 하나의 도구만으로 모든 방면을 제어할 수 있다는 것은 매개 변수를 관리하고 게임을 디버깅하는 데 아주 편리할 뿐만 아니라 다른 프로젝트에 저희 작업을 적용하는 것도 아주 쉬워지죠.

저희는 음향 공간 표현을 집중 개발하여 게임 오디오의 품질을 향상시키고, 사용한 모든 방법과 플러그인은 나중에도 추가 개발할 것을 목표로 했습니다.

예를 들어 Simple3D는 3D 사운드를 제작하는 플러그인이지만 3D 효과의 사운드 위치를 사용하는 것으로 제한되었죠. 이제는 리스너와 음원 간의 거리와 같은 조건을 고려하여 3D 사운드를 표현하도록 해보려고 합니다. K-verb도 마찬가지예요. 더 나은 음향 속성을 가질 수도 있고 차단 정보를 조합하면 시스템을 더욱 포괄적으로 만들 수 있겠죠.

저희가 현재 도전하고자 하는 또 다른 과제는 사운드에 모션을 자동으로 할당하는 법을 찾아내는 것입니다. 이 과정은 하드웨어 개발로 인해 아주 일반화가 되고 있지만 아직 음향 공간 표현과는 연결되지 않았습니다. 저희는 가까운 미래에 간단한 수작업을 없앨 뿐만 아니라 새로운 아이디어와 방법을 제시하는 도구를 개발하는 것을 목표로 하고 있습니다.

게임 제작 도구는 수없이 많으며 당면 과제도 정말 많습니다. 저희 사운드 디자이너, 작곡가, 프로그래머는 이러한 문제를 매일 의논합니다. 저는 이런 의논이 모든 게임 회사에서 필요하다고 생각해요. 바로 그러한 이유로 이 블로그 글을 쓰게 되었습니다. 전세계에서 Wwise를 사용하는 게임 제작자들이 흥미롭고 도움될 내용을 찾았으면 하는 마음에서죠. 저희 글을 통해 작은 아이디어나 단서를 발견하셨기를 바랍니다. 

 

MisakiShindo미사키 신도 (Misaki Shindo)
인디 밴드로 활동하며 악기 상가에서 일하던 미사키는 2008년 PlatinumGames에 사운드 디자이너로 입사하게 됩니다. 최근에 작업한 니어 : 오토마타에서 리드 사운드 디자이너였던 미사키는 효과음 제작, Wwise 구현, 사운드 효과 시스템 제작을 담당했습니다.



ShujiKohata슈지 코하타 (Shuji Kohata)
슈지는 2013년 PlatinumGames에 입사하기 전에 전자 악기 개발 회사에서 일했습니다. 오디오 프로그래머인 그는 음향 효과의 기술적인 측면을 총괄합니다.  니어 : 오토마타에서는 시스템 유지와 오디오 효과 구현을 담당했습니다. 슈지의 목표는 새로운 소리를 표현하는 방법을 고안하고 이 방법을 미래 게임에 활용하는 것입니다. 그는 게임 음향 기술을 개선하기 위해 끊임없이 노력하고 있습니다.

 

알림: 이 글에서 사용된 모든 니어 : 오토마타’의 스크린샷과 동영상은 SQUARE ENIX Co., Ltd.의 소유물임을 알립니다.
NieR:Automata (니어 : 오토마타)
플랫폼: PS4, Steam, Xbox One (다운로드용)
배급사: SQUARE ENIX CO., LTD.
개발사: PlatinumGames Inc.
공식 웹사이트:  https://niergame.com/en-us/ 
© 2017 SQUARE ENIX CO., LTD. All Rights Reserved.

 

PlatinumGames Inc. (플래티넘 게임즈)

PlatinumGames Inc. (플래티넘 게임즈)

PlatinumGames Inc. (プラチナゲームズ株式会社 플래티넘 게임즈)는 일본의 게임 개발 회사입니다. 끊임없이 대중의 기대를 뛰어넘어 플레이어들을 빠져들게 만드는 게임을 만들어 내며 전세계적으로 최고의 스튜디오가 되는 것을 목표로 하고 있습니다. 바로 이것이 PlatinumGames의 비전입니다.

 @platinumgames

댓글

Hannah Lee

September 19, 2019 at 08:42 pm

유용하게 잘 봤습니다. 감사합니다 :)

댓글 달기

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

다른 글

Total War: WARHAMMER 2 (토탈 워: 워해머 2): 음악 구조 제작과 체계적 사용법

Total War 시리즈를 잘 모르시는 분들을 위해 설명 드리자면 Total War는 턴 방식의 전략 게임으로 대규모의 실시간 전쟁이 특징적인 게임입니다. 중세 유럽, 봉건 일본,...

21.8.2019 - 작성자: CREATIVE ASSEMBLY (크리에이티브 어셈블리)

아우터 월드(Outer Worlds)의 사운드: 제 2부

아우터 월드(Outer Worlds)의 사운드를 심층적으로 알아보는 블로그 제 2부에 오신 것을 환영합니다!...

12.1.2021 - 작성자: 옵시디언 엔터테인먼트 (Obsidian Entertainment)

새로워진 Wwise Audio Lab(WAL)을 소개합니다

Wwise Audio Lab(와이즈 오디오 랩, WAL)은 Unreal Engine 4를 통해 오픈 소스로 개발된 게임 형식의 3D 환경이며 Wwise 런처를 통해 제공됩니다....

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

‘잇 테이크 투(It Takes Two)’ 사운드 비하인드 스토리 | Hazelight 오디오 팀과의 Q&A

Hazelight Studios(헤이즈라이트 스튜디오)에서 제작한 잇 테이크 투(It Takes Two)는 분할 스크린 액션 어드벤처 플랫폼 협동 게임입니다. 이 게임은 엄청나게...

5.4.2022 - 작성자: Hazelight (헤이즐라이트)

Wwise를 사용한 반복 재생 기반 자동차 엔진음 디자인 | 제 2부

다시 뵙게 되어 반갑습니다! 이 시리즈에서는 Wwise에서의 간단한 반복 재생 기반 자동차 엔진을 구성 및 설계를 함께 살펴보게 됩니다. 디자인을 제어하기 위해 필요한 엔진 매개...

9.5.2023 - 작성자: 아르토 코이비스토 (Arto Koivisto)

상호작용 음악: '여러분이 직접 선택하는 모험' 스타일의 발라드

2018년 크라우드 펀딩 캠페인을 성공적으로 마친 inXile Entertainment(인엑사일 엔터테인먼트)는 '웨이스트 랜드 3(Wasteland 3)' 게임의 본격적인 제작에...

23.5.2023 - 작성자: Alexander Brandon (알렉산더 브랜드)

다른 글

Total War: WARHAMMER 2 (토탈 워: 워해머 2): 음악 구조 제작과 체계적 사용법

Total War 시리즈를 잘 모르시는 분들을 위해 설명 드리자면 Total War는 턴 방식의 전략 게임으로 대규모의 실시간 전쟁이 특징적인 게임입니다. 중세 유럽, 봉건 일본,...

아우터 월드(Outer Worlds)의 사운드: 제 2부

아우터 월드(Outer Worlds)의 사운드를 심층적으로 알아보는 블로그 제 2부에 오신 것을 환영합니다!...

새로워진 Wwise Audio Lab(WAL)을 소개합니다

Wwise Audio Lab(와이즈 오디오 랩, WAL)은 Unreal Engine 4를 통해 오픈 소스로 개발된 게임 형식의 3D 환경이며 Wwise 런처를 통해 제공됩니다....