오디오 믹서(Audio Mixer) 는 언리얼 엔진에서 제공하는 완벽한 기능을 갖춘 멀티 플랫폼 오디오 렌더러입니다. 이 강력한 오디오 엔진은 포트나이트에서 첫선을 보였으며 이후 언리얼 엔진 4.24에 추가되었습니다.
첫 출시 이후 레거시 기능을 지속적으로 발전시키는 한편, 차세대 오디오 렌더링 기능도 추가하여 리얼타임 경험을 제작하는 오디오 디자이너들에게 최상의 컨트롤과 유연성을 제공합니다.
이 개요에서는 레거시 기능과 함께 언리얼 엔진 5(UE5)에 추가된 차세대 기능을 살펴봅니다.
레거시 기능
언리얼 엔진 레거시 오디오 기능의 핵심은 사운드 큐(Sound Cue), 사운드 클래스(Sound Class), 사운드 믹스(Sound Mix)입니다. 새로운 오디오 믹서에서도 이러한 기능이 지원되므로 새로운 오디오 엔진으로 프로젝트를 손쉽게 이전할 수 있습니다.
사운드 큐
사운드 큐(Sound Cue)는 언리얼 엔진의 레거시 오디오 오브젝트입니다. 사운드 큐는 오디오 디자이너가 사운드 소스를 재생하고 볼륨과 피치 같은 다양한 파라미터를 조작할 수 있게 해 주는 오디오 파라미터 그래프입니다.
사운드 큐는 샘플링을 정밀하게 제어하거나 임의의 디지털 신호 처리 알고리즘 생성을 지원하지 않습니다. 워크플로의 대부분은 수동으로 이뤄지며 오디오 디자이너가 모든 사운드에 대해 사운드 큐를 별도로 생성해야 합니다.
마지막으로, 오디오의 정밀한 샘플링 타이밍과 스케줄링을 처리할 수 없다는 점 때문에 프로시저럴 사운드를 생성하는 작업이 매우 까다롭습니다.
사운드 클래스와 사운드 믹스
사운드 클래스는 특정 사운드에 주어지는 스태틱 파라미터 세트를 말합니다.
사운드 클래스는 사운드를 카테고리별로 분류하여 각 파라미터 세트를 프로젝트에 일관되게 적용할 수 있도록 지원합니다. 스태틱한 속성으로 인해 오디오 디자이너는 대규모 프로젝트에서 필요한 다양한 사용 사례에 따라 유사한 사운드 클래스를 다수 만들어야 하는 경우가 흔합니다. 또한 파라미터 간 일관되지 않은 상속과 우선순위로 인해 디버깅도 복잡해질 수 있습니다.
사운드 믹스는 오디오 디자이너가 오디오 파라미터 세트를 런타임에 다이내믹하게 변조할 수 있도록 지원합니다. 따라서 게임플레이 이벤트와 기타 조건에 반응하는 다이내믹 사운드를 생성할 때 유용합니다. 하지만 동일한 사운드 믹스의 인스턴스를 여러 개 생성하거나 이러한 인스턴스를 사운드 클래스와 조합하여 더 복잡하게 만들 수 있기 때문에, 사운드 믹스 역시 디버깅이 어려울 수 있습니다.
UE5의 사운드 렌더링
오디오 믹서(Audio Mixer)용으로 개발된 대부분의 기능은 언리얼 엔진에서 제공하는 레거시 기능을 바탕으로 확장되어 위에서 언급된 다양한 문제점을 해결합니다. 그 외의 기능은 완전히 새롭게 개발되어 언리얼 엔진에 여타 오디오 전문 제작 툴과 맞먹는 성능을 제공합니다.
메타사운드
언리얼 엔진 5에 도입된 메타사운드 는 새로운 하이 퍼포먼스 오디오 시스템으로, 오디오 디자이너가 사운드 소스의 디지털 신호 처리(DSP) 그래프를 생성하는 작업을 완벽하게 제어할 수 있도록 지원합니다. 메타사운드는 사운드 큐에서 제공하는 모든 기능을 갖추었을 뿐 아니라 몰입감 높은 오디오 경험을 제작할 수 있도록 지원하는 차세대 기능도 포함합니다.
메타사운드는 사운드 큐에 있던 문제들을 해결하고 언리얼 엔진의 디폴트 오디오 오브젝트를 대체합니다. 사운드 큐와 달리 메타사운드는 근본적으로 디지털 신호 처리(DSP) 렌더링 그래프입니다. 따라서 오디오 디자이너는 오디오 버퍼 레벨에서 정밀한 샘플링 타이밍과 컨트롤을 지원하는 임의적이고 복잡한 프로시저럴 오디오 시스템을 구축할 수 있습니다.
메타사운드는 오디오 디자이너가 런타임 오디오 렌더링 기능과 개선된 워크플로를 활용할 수 있도록 지원하며, 여기에는 메타사운드 내 메타사운드 컴포지션을 통한 메타사운드 제작, 템플릿화 지원, 다이내믹/스태틱 에셋 인스턴싱 등이 포함됩니다.
또한 사운드 큐보다 훨씬 향상된 성능을 갖추었으며 완전히 확장 가능하여 타사 플러그인에서도 사용 가능한 API를 제공합니다.
오디오 변조
언리얼 엔진의 레거시 오디오 기능 세트에서 사운드 클래스는 스태틱 글로벌 파라미터를 정의하고 해당 파라미터를 사운드에 그룹으로 적용하며, 사운드 믹스는 해당 파라미터를 런타임에 다이내믹하게 조정합니다. 하지만 이러한 파라미터는 하드코딩되고 스태틱한 속성을 가지므로 게임플레이 중에는 용도가 제한됩니다.
오디오 변조(Audio Modulation) 는 이러한 레거시 사운드 클래스가 발전된 형태로, 파라미터 제어와 일반적인 '파라미터 버스' 변조라는 개념의 제한을 없앤 것이라고 할 수 있습니다. 무엇이든 변조 소스가 될 수 있고, 무엇이든 변조 대상이 될 수 있습니다.
파라미터 버스에서 사용할 수 있는 변조 소스는 그 수에 제한이 없으며, 블루프린트 클래스, 변조 믹스, 게임플레이 코드도 변조 소스로 사용할 수 있습니다. 변조 대상은 변조되고 있는 파라미터를 가리키며, 파라미터 버스에서 다양한 방식을 통해 로컬로 매핑할 수 있습니다.
오디오 디자이너는 오디오 변조 파라미터 버스를 통해 자신만의 파라미터 그룹(사운드 클래스)을 정의하고 이를 원하는 방식(사운드 믹스)으로 제어할 수 있습니다.
쿼츠
쿼츠 는 오디오 이벤트의 정밀한 타이밍 샘플을 블루프린트로 가져오는 기능입니다. 오디오가 정확한 시점에 재생되도록 예약하는 복잡성을 처리하며, 커스텀 인터랙티브 및 프로시저럴 음악 시스템을 지원하도록 설계되었습니다. 또한 쿼츠는 정확한 타이밍 이벤트를 블루프린트로 다시 보내서 게임플레이 로직과 비주얼이 오디오와 동기화되도록 지원합니다.
오디오 분석
오디오 분석(Audio Analysis) 은 리얼타임 오디오 분석과 리얼타임이 아닌 오디오 분석을 제공하는 기술 세트입니다. 이 툴은 나이아가라 및 블루프린트 스크립팅과 함께 작동하며, 언리얼 엔진 5의 에디터와의 통합을 통해 UX 생성 및 디버그 분석 툴뿐 아니라 런타임 오디오 분석 기능을 제공해 게임플레이 및 그래픽을 지원합니다.