https://youtu.be/JD9GTJWzJog?si=oGkhY1I7Hklb5vwV

 

발표자 : Blake Johnson & Ben Pantelis

게임 설명 : Single player action-adventure , 3rd in the series

오디오팀 :

  • 30 Audio Designers (Technical Audio Designers 3명 포함) 놀랍군 놀라워 
  • 13 dialog artist 놀랍군 놀라워 
  • 85k total voice assets (lines, efforts, walla) 
  • 224 days of recording
  • Shipped with Wwise 2022.1.1

발표 개요 

  • Mix Marvel's Spider-Man 2에서 사용된 다양한 믹싱 방법론, 미터링 설정, 동적 EQ 및 기타 믹싱 기법에 대한 설명
  • Marvel's New York 넓어진 게임 세계에서 몰입감 있고 역동적인 도시 사운드스케이프를 만들기 위해 사용된 오디오 시스템 및 기법에 대한 설명
  • Performance 특히 PS5 플랫폼에서 게임의 방대한 스케일과 복잡성을 고려하여 오디오 성능을 관리하고 최적화하기 위한 전략

1. 믹싱

  • 버스 방법론(Bus Methodology):새로운 오디오 버스를 생성하는 결정은 일반적으로 상태(State) 또는 RTPC(Real-Time Parameter Control) 제어, 동적 믹싱 및 압축, 보이스 수 제한, 레벨 미터링, 버스 구성 차별화 (특히 3D 오디오), 그리고 오디오 일시 중지 여부와 같은 요소에 기반합니다.
  • 불필요한 복잡성을 피하기 위해 추가 버스를 만들지 않도록 노력합니다.
  • 보이스 볼륨은 버스 간에 이동할 때 기본적으로 정적으로 유지되도록 설정되었습니다. 동적 믹싱은 볼륨을 변경할 수 있지만, 버스 이동 자체는 기본 볼륨에 영향을 미치지 않습니다.
  • 덧셈식 믹싱(Additive Mixing)보다는 뺄셈식 믹싱(Subtractive Mixing)을 목표로 합니다. "We aim to try to do subtractive mixing rather than additive." (우리는 덧셈식 믹싱보다는 뺄셈식 믹싱을 하려고 노력합니다.) 이상적인 기본 볼륨이 있지만, 포커스 대상이 되는 소리를 위해 다른 소리의 볼륨을 줄이는 방식을 선호합니다.
  • 미터링 설정(Metering Setup):믹싱 시 Wwise의 Meter 플러그인을 광범위하게 사용했지만, 전통적인 방식과는 다르게 사용했습니다.
  • 대화(Dialog)의 세 가지 주파수 대역(낮음, 중간, 높음)에 대한 사용자 정의 보조 버스로 전송하여 각 대역의 레벨을 미터링했습니다.
  • 80개 이상의 미터 값이 사용되었지만, 모든 미터가 항상 사용되는 것은 아닙니다.
  • 다양한 오디오 그룹(대화21, 보스 SFX6, 음악7, 특정음악3, 전투20, UI6, 기타 SFX24)에 대한 특정 미터가 있었습니다.
  • 미터링 세팅 예시
  •  
  • 동적 EQ(Dynamic EQ) 및 사이드체인(Sidechaining):미터 값을 사용하여 동적 EQ 및 사이드체인 압축을 제어하는 입력으로 활용했습니다.
  • 가장 일반적인 사용 사례는 대화가 음악에 침투하거나 대화가 SFX에 침투하는 경우였습니다.
  • Dialog to Music Dynamic EQ
    예시 영상 : 25:15 마블 스파이더맨2는 서사 중심의 게임(narrative driven game)이기 때문에 음악이 에너지를 끌어올리는 데 도움을 준다. 그래서 음악이 크게 들리고 실제하길 원했다. 나머지 분야에서도 마찬가지 ("Make Way" for Dialog) 
  • 음악이 커도 대사의 서사와 중요한 사운드의 임팩트를 줄이지 않게 함
  • 음악에서 대사에 해당하는 EQ부분만 줄여줌으로써 대사를 선명하게 들려주고, 음악이 주는 분위기는 유지함 (울렁울렁방지) 
  •  
  • 전투 중 플레이 음악에 대한 동적 EQ 예시는 시끄러운 환경 레이어(차량, 헬리콥터)를 낮추는 데 사용되어 전투 SFX가 더 잘 들리도록 했습니다.
  • 대화가 보컬(랩, 노래)이 포함된 강렬한 음악 트랙과 충돌하는 오프닝 시퀀스에서 Primary SUM Slow 미터를 사용하여 대화가 있을 때 보컬을 낮추는 데 사용했습니다.
  • 보컬 뮤직 스템 - 대사와 음악의 보컬이 겹칠 때 보컬 스템을 느리게 줄여줌
  • 전투 중 동맹의 총 버스 볼륨을 낮추는 데 Combat Mid 미터를 사용했습니다.
  • 아군 캐릭터 버스 / 마블스파맨2의 Combat 사운드에는 플레이어나 아군은 미포함. 적군, 보스, 위협 사운드임
  • Serge 모드에서는 Melee Impact 미터를 사용하여 특정 대규모 임팩트 발생 시 다른 앰비언스 레이어를 직접 6dB 낮췄습니다.
  • 특히 Serge 모드에서 강력한 근접 공격 시 믹스에서 특정 앰비언스 사운드를 완전히 제거하는 데 사용했습니다. "This kind of meter is something we love to do with the ambient mix is be able to turn down some of the less important environmental sounds like surrounding vehicles or surrounding like helicopters because they don't really add anything in that situation and if anything those kind of layered with the music or kind of make the combat SFX harder to hear." (이런 종류의 미터는 앰비언트 믹싱에 사용하기 좋은 것 중 하나입니다. 주변 차량이나 헬리콥터 같은 중요하지 않은 환경 소음을 줄여 전투 SFX가 더 잘 들리게 할 수 있기 때문입니다.)
  • 서지 모드에서의 영웅의 큰 근접 임팩트 - 리버브를 6dB 줄임 인게임 예시 영상 36:24

  • 리버브 하위 버스
  • MIXING FOR ATMOS
    • Atmos로 구동할 수 있는 기능은 비교적 늦게 도입되었다.
    • 3D 및 서라운드 출력이 잘 들린다면, Atmos로도 전반적으로 잘 변환된다.
    • 1시간이 넘는 시네마틱이 7.1.4 포맷으로 제작되었다.
    • 높이 채널과 후방/서라운드 채널에 대해 일부 레벨 조정이 있었다.
    • 일부 사운드 에셋은 업믹싱 되었다. (낮은 채널 수의 오디오를 더 많은 채널로 확장)

2. 마블 뉴욕 시티

  • 넓고 복잡한 도시(Large and Complex City): Marvel's Spider-Man 2의 뉴욕은 Insomniac Games가 만든 도시 중 가장 크고 번잡합니다. 맨해튼에 더해 퀸즈와 브루클린이 추가되어 도시 규모가 두 배가 되었습니다.
  • 도시 사운드스케이프 목표(City Soundscape Goals):도시를 활기차고 흥미롭게 만들고 시각적 요소와 일치하도록 오디오를 디자인합니다.
  • 환경 사운드가 위치 기반이 되도록 합니다.
  • 모든 시나리오에서 도시 사운드스케이프가 잘 수행되도록 합니다. (탐험 및 미션 중)
  • 도시 사운드스케이프 구성 요소(Components of the City Soundscape):게임플레이 구동 사운드(Gameplay Driven Sounds): 환경 소품, 보행자, 교통(차량, 비행기, 헬리콥터), 날씨, 범죄 이벤트 등 게임 세계에서 볼 수 있는 물체에서 발생하는 사운드.
  • 독립 오디오 시스템(Standalone Audio Systems): 다른 게임플레이 기능에 의존하지 않고 사운드스케이프의 느낌과 프레젠테이션을 형성하는 시스템입니다.
  • 앰비언트 톤(Ambient Tones): 각 주요 지역의 기본 앰비언스 레이어입니다. 플레이어 위치에 고정된 대형 볼륨으로 재생됩니다. 카메라 높이 RTPC를 사용하여 플레이어 고도에 따라 사운드 포지셔닝 및 볼륨을 동적으로 변경합니다.
  • 원거리 지역 시스템(Distant District System - DDS): 중거리 및 원거리 앰비언스를 다룹니다. 플레이어로부터 고정된 수평 오프셋을 가진 여러 개의 이미터로 구성됩니다. 시스템은 이미터가 어떤 구역/지역에 있는지 파악하고 그에 따라 사운드 콘텐츠를 조정합니다.
  • 스크리닝 값(Screening Value): DDS 이미터에서 플레이어까지의 레이캐스트를 사용하여 이미터가 얼마나 가려져 있는지 판단하고 미묘하게 볼륨을 줄이거나 필터링하는 데 사용됩니다.
  • 근접 볼륨(Proximity Volumes): 관심 지역 위에 배치된 간단한 볼륨으로, 해당 지역에 얼마나 가까운지에 따라 RTPC 값을 반환합니다. 이 RTPC는 DDS 및 앰비언트 톤과 같은 글로벌 앰비언스를 수정하는 데 사용될 수 있습니다.
  • 해안선 스플라인(Coastline Splines) 및 물 표면 사운드(Water Surface Sounds): 해안선에 그려진 스플라인을 사용하여 파도 소리를 트리거하고, 물 위에서 움직이는 별도의 이미터를 사용하여 물 표면 사운드를 재생합니다.

3. 성능 최적화

  • 전용 기술 오디오 팀(Dedicated Technical Audio Team): Marvel's Spider-Man 2 개발은 Insomniac Games에 전용 기술 오디오 팀이 처음 생긴 프로젝트였습니다. 그들의 역할은 엔진과 상호 작용하고, 게임플레이를 고려하며, 기능을 개발하고, 전체 오디오 워크플로우를 정의하는 것이었습니다.
  • 도전 과제(Challenges):새로운 기능과 시스템, 레거시 기술 업데이트, 확장된 게임 스케일 전반에 걸쳐 성능 균형을 맞추는 것.
  • 독점 엔진 사용의 어려움 (유지 보수 및 새 시스템/기능 개발의 어려움).
  • 엔진 스트리밍 인프라의 재개발로 인해 프로젝트 후반까지 PS5 스트리밍 기능에 접근할 수 없었습니다.
  • 많은 오디오를 메모리에 의존해야 했고, 거대한 스케일로 인해 미디어 메모리 및 처리 메모리 예산 문제를 야기했습니다.
  • 높은 인스턴스 수, 동적 믹싱 및 복잡한 3D 오디오로 인한 CPU 부하.
  • 최악의 성능 시나리오가 예상치 못한 무작위 조우에서 발생할 수 있습니다.
  • 변환 설정(Conversion Settings):파일 크기 감소를 위해 다양한 코덱(AtraCK9, Wwise Opus, Vorbis)의 조합을 탐색했습니다.
  • AtraCK9: PS 플랫폼용 Sony의 코덱으로 하드웨어 디코딩이 가능하고 압축률이 좋지만 파일 크기가 클 수 있습니다. 촉각 피드백(Haptics)에 특화된 설정이 있습니다.
  • Wwise Opus: 하드웨어 디코딩이 가능하고 압축률이 매우 좋지만, 동시에 너무 많은 파일이 재생될 경우 디코딩 상한에 도달할 수 있습니다.
  • Vorbis: 소프트웨어 디코딩되며 압축률이 양호하지만 CPU를 사용합니다.
  • 솔루션: 이러한 코덱을 조합하여 사용했습니다. 더 긴 오디오(음악, 시네마틱) 또는 파일 수가 많은 오디오(대화)에는 Wwise Opus를 기본으로 사용했습니다. Vorbis는 차량 및 비와 같이 동시에 많은 인스턴스가 발생할 수 있는 긴 사운드에 신중하게 사용되었습니다. 기본값은 AtraCK9였습니다. 이 접근 방식을 통해 파일 크기가 크게 개선되었습니다 (대화는 30% 감소).
  • 변환 설정에 대한 공유 세트를 코덱 유형이나 품질 설정이 아닌 사운드 유형별로 분류했습니다.
  • 스트리밍(Streaming): 프로젝트 후반에 PS5 스트리밍 기능이 구현되어 대부분의 2초 이상의 파일은 스트리밍되도록 설정되었습니다. 이를 통해 런타임 미디어 메모리가 크게 절약되었습니다.
  • 처리 메모리 최적화(Processing Memory Optimization):사운드뱅크에서 사용되지 않는 콘텐츠 (미디어 파일, 구조화된 데이터)를 제거했습니다.
  • 사용되지 않는 사운드뱅크가 로드되지 않도록 했습니다.
  • 대규모/복잡한 Switch 컨테이너를 재구성하여 Wwise가 저장해야 하는 처리 메모리 양을 줄였습니다.
  • 3D 오디오 믹스 성능(3D Audio Mix Performance):3D 오디오 환경에서 동적 EQ와 같은 플러그인은 CPU를 많이 사용할 수 있습니다. 10개의 사운드가 5개의 EQ가 있는 버스를 통과하면 3D 오디오에서는 50개의 플러그인 인스턴스가 될 수 있습니다.
  • 핵심 최적화: CPU 부하를 줄이기 위해 가능한 한 Bus에 동적 EQ 기능을 유지하고 특정 사운드(적, 일부 앰비언스)에 대해서만 오디오 오브젝트(Audio Object)를 사용하도록 선택했습니다.
  • 3D Audio Bed Mixer 플러그인은 여러 병렬/자매 Main Mix 버스를 단일 Main Mix로 결합하여 상당한 CPU를 절약할 수 있습니다.
  • 일반 CPU 성능 학습 및 팁(General CPU Performance Learnings and Tips):성능 병목 지점을 찾고 싸울 가치가 있는지 평가하십시오. 개선 사항이 실제로 품질 향상에 기여합니까? 또는 다른 문제에서 더 쉽고 빠르게 절약할 수 있습니까?
  • Wwise 이전에 게임 엔진 측에서 사운드 및 이벤트 수를 관리합니다.
  • 필요한 경우에만 API 호출을 트리거하여 API 호출 수를 줄입니다. 변경 사항이 있을 때만 Wwise에 알립니다.
  • 필요하지 않을 때 동적 플러그인을 우회합니다.
  • Wwise 내부에서 오프라인 렌더링을 활용합니다.
  • 극단적인 상황에 대한 안전망으로 특정 노드에 100개의 물리 사운드 보이스에 대한 하드 제한을 추가했습니다.
  • Wwise 프로파일링 도구를 사용하는 것을 적극 권장합니다. 성능 문제에 대한 통찰력을 제공합니다. "It's always worth embracing the profiling tool inside Wwise." (Wwise 내부의 프로파일링 도구를 항상 활용할 가치가 있습니다.)

+ Recent posts