메타사운드: 차세대 사운드 소스

이 문서에서는 언리얼 엔진 5의 메타사운드에 대한 간략하게 살펴봅니다.

Windows
MacOS
Linux

사운드 큐: 언리얼 엔진의 레거시 오디오 오브젝트

사운드 큐는 언리얼 엔진의 레거시 오디오 오브젝트입니다. 사운드 큐는 오디오 디자이너가 사운드 소스를 재생하고 볼륨과 피치 같은 다양한 파라미터를 조작할 수 있게 해 주는 오디오 파라미터 그래프입니다.

사운드 큐로는 샘플링을 정밀하게 제어하거나 임의의 디지털 신호 처리 알고리듬을 생성할 수 없습니다. 또한 워크플로 대부분이 수동으로 이뤄지며 모든 사운드에 대해 사운드 큐를 별도로 생성해야 합니다.

마지막으로, 오디오의 정밀한 샘플링 타이밍과 스케줄링을 처리할 수 없다는 점 때문에 프로시저럴 사운드를 생성하는 작업이 매우 까다롭습니다.

메타사운드 소개

언리얼 엔진 5에 도입된 메타사운드 는 새로운 하이 퍼포먼스 오디오 시스템으로, 오디오 디자이너가 사운드 소스의 디지털 신호 처리(DSP) 그래프를 생성하는 작업을 완벽하게 제어할 수 있도록 지원합니다.

메타사운드는 사운드 큐에 있던 문제들을 해결하고 언리얼 엔진의 기본 오디오 오브젝트를 대체합니다.

완벽한 프로시저럴 오디오 엔진

사운드 큐와 달리 메타사운드는 근본적으로 디지털 신호 처리(DSP) 렌더링 그래프입니다. 따라서 오디오 디자이너는 오디오 버퍼 레벨에서 정밀한 샘플링 타이밍과 컨트롤을 지원하는 임의적이고 복잡한 프로시저럴 오디오 시스템을 구축할 수 있습니다.

오디오 디자이너는 메타사운드를 사용하여 런타임에 오디오를 합성하여 생성하고, 프로시저럴 방식으로 생성된 사운드를 다른 오디오 소스와 자유롭게 조합하고 연결할 수 있습니다.

또한 메타사운드는 게임 데이터 및 플레이어의 상호작용과 손쉽게 통합함으로써 게임플레이 이벤트에 의해 트리거되는 몰입적인 경험을 만들 수 있게 디자인되었습니다.

오디오 디자이너에게 더 많은 제어권 부여

각각의 메타사운드는 자체적인 오디오 렌더링 엔진으로 작동하며, 샘플링 레이트와 버퍼 크기 같은 특정 파라미터를 지정할 수 있게 해 줍니다. 따라서 오디오 디자이너는 원하는 대로 재생하거나 지연시키기 위해 각각의 메타사운드를 세밀하게 조정할 수 있습니다.

메타사운드는 새로운 메타사운드 에디터에서 생성할 수 있으며, 프로그래밍 경험이 전혀 없는 오디오 디자이너도 노드 기반 인터페이스를 사용하여 자신만의 오디오 렌더링 엔진을 만들 수 있습니다. 메타사운드 에디터를 사용하면 모든 오디오 입력 파라미터와 재생 결과는 물론이고 전체 오디오 렌더링 파이프라인에 대한 디테일한 제어 옵션을 제공하는 사전 제작된 일부 노드들을 프리뷰할 수 있습니다.

또한 오디오 팀은 언리얼 엔진 5의 얼리 액세스 기간 이후에도 측정 및 분석 툴 같은 오디오 데이터 시각화 기능과 간소화된 인터페이스 생성을 위한 UMG 지원을 추가하는 등 메타사운드 에디터를 지속적으로 개선해 나갈 계획입니다.

정밀한 오디오 샘플링 제어

메타사운드는 오디오 소스 샘플링을 정밀하게 제어할 수 있도록 지원합니다. 오디오 디자이너는 여러 오디오 소스들의 샘플링을 정밀하게 조합하여 무한한 베리에이션을 갖춘 프로시저럴 방식의 음악을 만들 수 있습니다. 또한 메타사운드는 들리는 속도를 변조할 수 있기 때문에 진폭 조정 및 주파수 조정 합성 등이 포함된 경우에 매우 이상적입니다.

이러한 기능을 사용하면 끊임없이 변화하는 게임의 특성을 반영하는 프로시저럴 사운드 시스템을 만들 수 있습니다.

개선된 워크플로

메타사운드의 주요 워크플로 개선 사항 중 하나는 바로 단일 프로젝트에 포함된 수천 개의 사운드 에셋을 관리하는 데 따르는 복잡성을 줄여 준다는 점입니다. 이를 위해 조만간 메타사운드에서 에셋 인스턴싱도 지원할 것입니다.

새로운 워크플로는 머티리얼 에디터와 같이 완전히 프로그래밍 가능한 머티리얼 및 렌더링 파이프라인과 유사합니다. 오디오 디자이너는 다른 메타사운드를 포함하는 메타사운드를 생성하는 것은 물론이고, 파라미터 커스터마이징을 위해 메타사운드 인스턴스를 생성하는 것도 가능해질 것입니다. 이처럼 메타사운드를 만드는 과정은 언리얼 엔진에서 머티리얼과 머티리얼 인스턴스를 만드는 것과 비슷해 집니다.

향상된 퍼포먼스

메타사운드는 메인 오디오 믹서에 비동기 방식으로 렌더링되므로 사운드 큐에 비해 더 나은 퍼포먼스를 제공합니다. 각 메타사운드 DSP 그래프는 최적화된 C++ 오브젝트로 네이티브화되어 있어 비용이 높은 가상 함수 오버헤드와 버퍼 사용을 방지해 줍니다.

이식 및 확장 가능

메타사운드는 가독성과 이식성을 개선하기 위해 JSON 포맷으로 시리얼라이즈되어 있으므로 익스포트하고 공유하거나 네트워크 연결을 통해 전송하기가 더 쉽습니다.

또한 메타사운드는 API를 사용하여 서드파티 플러그인으로 확장할 수도 있습니다. 메타사운드 에디터용으로 새 노드를 생성하는 것은 프로그래머가 입출력 세트와 실행 코드를 정의하는 C++ 함수를 생성하는 것과 비슷하지만, 슬레이트에 직접 코딩할 필요 없이 에디터에서 노드로 표시됩니다.

다채로운 게임플레이 상호작용

메타사운드는 머티리얼에서 사용되는 입력 파라미터와 비슷하게 커스텀 유저 입력 파라미터를 지원합니다. 이러한 파라미터는 게임플레이를 통해 업데이트되어 메타사운드로 전달되므로 상호작용 경험을 개선할 수 있습니다.

또한 메타사운드는 파라미터 조정 플러그인과 통합할 수 있으므로 파라미터 버스를 통해 메타사운드를 제어하고 다이내믹 믹싱 기능을 제공할 수 있습니다.