언리얼 오디오 엔진 은 언리얼 엔진 이 지원하는 강력한 오디오 엔진으로, 모든 플랫폼에 걸쳐 다양한 기능을 지원합니다.
이제 언리얼 오디오 엔진은 블루프린트와 새로운 멀티 플랫폼 오디오 믹서의 강력한 기능을 모두 지원함으로써 오디오 디지털 신호 처리(DSP), 프로시저럴 합성, 커스터마이징 가능한 서브믹스 그래프 및 유연한 C++ API까지 활용할 수 있어 어떤 프로젝트에서 어떤 스케일로든 고퀄리티의 오디오를 탑재할 수 있는 역량을 모두 갖추게 되었습니다.
이 개요에서는 하이 레벨의 오디오 문제를 해결하는 데 활용 가능한 다양한 서브시스템 및 기능을 살펴봅니다.
소스 에셋 관리
전반적인 소스 에셋 관리는 매우 직관적입니다. 언리얼 엔진에서의 에셋 관리 기본 원칙은 모든 것을 최대한 직관적으로, 가능한 한 자동으로 처리한다는 것입니다.
에셋 임포트하기
언리얼 엔진에서는 파일 임포트 대화창을 사용하거나 '콘텐츠 브라우저(Content Browser)'로 직접 드래그하여 오디오 에셋을 데스크톱에서 '콘텐츠 브라우저'로 직접 임포트할 수 있습니다.
이때 다양한 에셋 타입과 채널 포맷을 임포트할 수 있습니다 자세한 내용은 오디오 파일 임포트하기를 참고하세요.
언리얼 엔진 내부적으로는 임포트된 오디오 파일을 16비트 비압축 .wav
포맷으로 저장합니다.
임포트된 데이터를 포함하는 UAsset
은 USoundWave
라고 하며 모든 언리얼 엔진 오디오 게임플레이 API에서 재생할 수 있습니다. 임포트된 에셋을 미리 볼 수도 있는데, 이렇게 하려면 '콘텐츠 브라우저'에서 해당 에셋의 '재생(Play)' 버튼을 클릭하거나 에셋이 선택된 상태에서 스페이스 바를 누르면 됩니다.
오디오 에셋이 '콘텐츠 브라우저'로 임포트되면 언리얼 엔진은 16비트 비압축 .wav
포맷으로 저장합니다.
에셋 관리 툴
'콘텐츠 브라우저'는 폴더 구조가 잘 정리되어 있고 북마크의 디자인도 뛰어나며 여기에서 제공하는 다른 일반적인 툴들도 유용하지만 프로퍼티 매트릭스(Property Matrix) 툴을 사용하면 오디오 에셋과 관련한 작업에서 큰 이점을 얻을 수 있습니다. 언리얼 엔진에서 오디오 에셋을 대량으로 편집해야 하는 경우 먼저 편집할 에셋을 선택하고 '프로퍼티 매트릭스' 툴을 실행하여 최대 수백 개에 달하는 에셋을 동시에 조절할 수 있습니다.
'프로퍼티 매트릭스' 툴을 사용하면 다수의 에셋을 동시에 광범위하게 변경할 수 있습니다.
사운드 큐
언리얼 오디오 엔진에서 사운드 큐(Sound Cue) 는 다수의 사운드 에셋을 추상적인 사운드 오브젝트로 개념적으로 집계한 에셋을 가리키며, 말 그대로 사운드 그 자체가 아닌 해당 사운드의 추상적 개념으로 생각하면 됩니다.
사운드 큐는 실제 사운드가 아니라 런타임에서 평가되는 잠재적인 사운드의 묶음입니다. 사운드 큐는 사용되는 컨텍스트에 따라 재생될 때마다 다른 사운드가 나올 수 있습니다.
사운드 큐는 언리얼 엔진에서 가장 오래된 툴 중 하나입니다. '사운드 큐 에디터(Sound Cue Editor)'는 사운드 디자이너가 단순한 사운드 재생 이벤트를 복잡하고 미묘한 사운드 디자인 이벤트로 변환할 수 있는 자신만의 사운드 디자인 토폴로지를 생성할 수 있도록 지원합니다.
이외에도 사운드 큐는 하이 레벨에서 에셋 랜덤화, 게임플레이 기반 파라미터 매핑, 거리 어테뉴에이션 커스텀 로직 및 브랜칭, 볼륨 어테뉴에이션, 피치 이동을 비롯한 다양한 기능을 제공합니다.
'사운드 큐 에디터'는 단순한 사운드 재생 이벤트를 복잡하고 미묘한 사운드 디자인 이벤트로 변환할 수 있도록 지원합니다.
사운드 큐는 사운드 큐 템플릿(Sound Cue Templates) 플러그인으로도 빌드할 수 있습니다. 이 플러그인은 간단한 C++ 인터페이스로 구성되어 있으며 사운드 디자이너는 이를 통해 특정 사운드 큐, 그래프 토폴로지 및 로직을 명명하여 '프로퍼티 매트릭스 에디터'와 '콘텐츠 브라우저'에서 자동으로 생성 및 사용하도록 할 수 있습니다. 이 방법을 사용하면 일반적인 사운드 큐 그래프를 정의할 수 있으며 사운드 디자이너는 이를 통해 워크플로를 최적화할 수 있습니다.
자세한 내용은 사운드 큐 에디터를 참고하세요.
공간화 및 어테뉴에이션
게임에서 공간화와 어테뉴에이션은 중요한 역할을 합니다. 언리얼 오디오 엔진에서는 커스텀 공간화와 어테뉴에이션 비헤이비어를 정의할 수 있습니다.
커스텀 공간화와 어테뉴에이션 비헤이비어는 다양한 방식으로 만들어집니다.
일반적으로 사운드 및 어테뉴에이션 세팅은 사운드 디자이너가 사운드 어테뉴에이션 세팅(Sound Attenuation Settings) 에셋을 사용하여 정의하고 사운드에 연결 됩니다. 사운드 어테뉴에이션을 연결할 수 있는 위치는 다음과 같이 다양합니다.
사운드 에셋에 직접 연결
사운드 큐 내에서 연결
블루프린트에서 오버라이드
자세한 내용은 사운드 어테뉴에이션을 참고하세요.
공간화 되지 않은 사운드
공간화되지 않은 사운드는 보통 오디오 엔진의 컨텍스트에서 2D 사운드 라고 부릅니다. 언리얼 오디오는 사운드 어테뉴에이션 세팅 에셋에서의 시각화를 비활성화하거나 사운드 어테뉴에이션 에셋을 제공하지 않는 방법으로 2D 에셋의 재생을 지원합니다. 이러한 2D 사운드는 음악, UI 피드백 사운드 및 리스너의 위치가 정적인 다양한 상황에서 유용하게 사용됩니다.
사운드가 특별한 공간화 메서드 없이 재생된다고 하더라도 에셋 자체에 구워진 공간화 정보는 에셋에 포함될 수 있습니다.
쿼드, 5.1, 7.1 사운드 소스 같은 멀티채널 사운드 소스 는 2D 재생에 대해서만 지원됩니다. 보통 음악 또는 앰비언트 베드용으로 사용됩니다.
스테레오 사운드 소스 는 2D로 재생될 수 있지만 공간화도 가능합니다.
공간화된 사운드
기본적으로 어테뉴에이션 세팅에서 공간화가 활성화되어 있는 경우 사운드는 패닝을 사용하여 공간화됩니다.
패닝(Panning) 은 리스너의 방향을 기준으로 사운드의 상대적인 각도를 통해물리적으로 출력되는 스피커 채널에서의 사운드 진폭을 변경하는 프로세스입니다.
언리얼 오디오는 스테레오, 5.1, 7.1 등 다양한 출력 환경설정은 물론이고 모노 소스 에셋과 스테레오 소스 에셋에 대해서도 패닝을 지원합니다.
스테레오 에셋의 경우 소스의 좌우 입력 채널 사이의 가상 거리를 정의하는 스테레오 확산 파라미터가 있습니다. 이 방식을 통해 스테레오 소스 좌우 채널은 모노 소스와 유사한 방식으로, 그리고 리스너에 상대적으로 패닝됩니다.
사운드 디자이너가 프로젝트에서 환경설정하여 사용 가능한 글로벌 패닝 모드(Global Panning Modes) 에는 선형 패닝(linear panning)과 균등 파워 패닝(equal-power panning)이 있습니다.
선형 패닝 은 출력 채널 사이에서 단순 선형 크로스페이드를 수행합니다.
균등 파워 패닝 은 출력 채널 간에 파워(진폭의 제곱)를 유지합니다.
볼륨을 인지하는 것은 사운드의 파워를 기반으로 하기 때문에 패닝에서 균등한 파워를 유지하면 인지적으로 더 일정하게 볼륨이 패닝되는 결과가 나옵니다. 선형 패닝은 실제 스피커의 위치와 가까울수록 사운드가 커지고 스피커 위치 사이에 있을 때 더 조용해집니다.
언리얼 오디오는 강력하고 유연성이 뛰어난 C++ API를 갖춘 서드파티 플러그인을 사용한 공간화도 지원합니다. 서드파티 플러그인은 사운드를 원하는 대로 공간화할 수 있는데, 여기에는 바이노럴/HRTF 공간화 또는 앰비소닉 음장 인코딩 및 디코딩도 포함됩니다. 플러그인은 어테뉴에이션 세팅 에셋에 연결 가능한 자체 에셋 세팅을 제공할 수 있습니다.
거리 어테뉴에이션
거리 기반 사운드 어테뉴에이션(Distance-based sound attenuation) 는 사운드 어테뉴에이션 세팅 에셋에서도 정의됩니다. 사전 디자인된 함수와 거리 기반 사운드 어테뉴에이션 모양이 다양하게 제공되기는 하지만 사운드 디자이너는 자신만의 커스텀 거리 어테뉴에이션 커브를 디자인할 수도 있습니다.
공간화/어테뉴에이션 직교
언리얼 오디오 공간화 및 어테뉴에이션의 특징에서 미묘한 측면 한 가지는 바로 직교 프로퍼티로 취급된다는 것입니다. 즉, 사운드 디자이너는 사운드가 공간화에 상관없이 거리 또는 소스-리스너의 방향에 따라 어테뉴에이션할지 아니면 그 정반대일지의 여부를 결정할 수 있다는 뜻입니다.
공간화와 어테뉴에이션 세팅은 사운드 어테뉴에이션 세팅 에셋에서 정의됩니다.
이 이미지에서는 리스너가 녹색 스피어로 표시된 공간화되지 않은 반경 내에 있을 때 사운드는 스피커 구성의 모든 채널로 흘러나갑니다. 반경 바깥에 있는 경우에는 사운드가 평범하게 공간화됩니다.
거리 필터링
사운드 어테뉴에이션 세팅에는 거리 함수 역할을 하는 사운드 필터링 옵션도 있습니다. 사운드 디자이너는 로우 패스와 하이 패스 필터에 대한 별도의 커브로 공기 흡수 이펙트(로우 패스 필터)를 에뮬레이션하거나 주파수 의존 거리 어테뉴에이션(하이 패스 필터)을 모델링할 수 있습니다.
오클루전
언리얼 오디오는 매우 낮은 비용으로 사운드의 오클루전 체크를 수행하는 디폴트 비동기 트레이스를 갖추고 있습니다. 사운드 디자이너는 사운드 어테뉴에이션 세팅 옵션을 통해 오클루전을 활성화하고 사운드의 오클루전 여부에 따라 사운드를 필터링하는 다양한 파라미터를 설정할 수 있습니다. 언리얼 오디오의 오클루전 C++ API를 활용하는 서드파티 플러그인에는 더 정교한 오클루전 솔루션이 구현되어 있습니다.
리스너 기반 어테뉴에이션
사운드 어테뉴에이션 세팅에는 사운드 디자이너가 리스너에 상대적인 사운드 방향을 기반으로 볼륨 어테뉴에이션, 우선순위 스케일링 및 기타 이펙트를 작성할 수 있는 옵션도 갖춰져 있습니다. 이 방식을 통해 사운드는 리스너의 시야에 들어왔을 때 더 "포커스 인"하거나 "포커스 아웃"할 수 있습니다.
자세한 내용은 어테뉴에이션와 리스너 포커스를 참고하세요.
거리 기반 리버브 전송
언리얼 오디오는 마스터 리버브 서브믹스에 오디오를 얼마나 보낼지 변경하는 기능을 거리 함수를 통해 지원합니다. 이 매핑은 다른 거리 기반 파라미터 커브와 유사하게 정의됩니다.
자세한 내용은 어테뉴에이션 리버브 전송을 참고하세요.
게임플레이 오디오 API
언리얼 오디오가 갖추고 있는 단순하고 유연한 게임플레이 API를 통해 블루프린트 및 C++ 코드로 오디오 엔진의 비헤이비어를 커스터마이징할 수 있습니다.
PlaySound 및 SpawnSound 블루프린트 API
블루프린트 및 게임플레이 C++ 코드에서 사운드를 재생할 수 있는 블루프린트 함수는 여러가지가 있는데, 다음과 같이 크게 두 가지 카테고리로 나눌 수 있습니다.
PlaySound 함수: PlaySoundAtLocation, PlaySound2D, PlayDialogue2D 등이 포함됩니다.
SpawnSound 함수: SpawnSoundAtLocation, SpawnSound2D, SpawnSoundAttached 등이 포함됩니다.
PlaySound API: 지정된 사운드를 파이어 앤 포겟 모드로 재생합니다. 일단 사운드가 재생되면 이 재생을 블루프린트에서 수정할 수도 없고 오브젝트에 어태치할 수도 없습니다. 이 타입의 재생은 동적 제어가 필요하지 않은 단순한 원샷 타입의 사운드에 유용합니다.
SpawnSound 함수: 파라미터를 동적으로 제어하는 오디오 컴포넌트를 사운드에 생성하고, 이 사운드를 다른 액터에 어태치하고, 루프하는 사운드를 제어할 수 있습니다. 오디오 컴포넌트는 언리얼 엔진 사운드에 유용한 오브젝트로, 복잡한 인터랙티브 오디오 블루프린트 시스템에 사용됩니다.
대부분의 언리얼 엔진 오디오 시스템은 관련된 블루프린트 API를 통해 블루프린트에서 커스터마이징 및 제어할 수 있습니다. 예를 들어 모든 소스 및 서브믹스 DSP 이펙트는 블루프린트에서 수정 및 제어할 수 있으며 사운드 믹스 및 사운드 클래스도 마찬가지입니다.
게임 볼륨 믹싱
게임 믹싱은 게임 오디오에서 까다로운 부분 중 하나입니다. 언리얼 오디오는 사운드 디자이너가 게임 믹스를 정의하고 제어하는 데 사용할 수 있는 수많은 기능을 제공합니다. 전체 볼륨 믹스에 영향을 미치는 요인은 매우 다양합니다.
직접 볼륨 조정
사운드 큐와 사운드 웨이브 같은 각 에셋에는 볼륨 제어를 제공하는 파라미터가 갖춰져 있습니다. 또한 오디오 컴포넌트로는 블루프린트에서 사운드 볼륨을 수정할 수도 있습니다. PlaySound 및 SpawnSound 오디오 게임플레이 API로는 재생 시 볼륨을 선택할 수도 있습니다. 사운드 큐는 다이내믹 게임플레이 파라미터에 따라서 또는 다른 사운드 큐 그래프 로직으로 사운드 볼륨을 수정할 수 있습니다. 또한 에셋 볼륨은 리스너 방향에 따른 어테뉴에이션 등 다양한 거리 어테뉴에이션 옵션을 통해 설정할 수 있습니다.
사운드 클래스
사운드 클래스(Sound Class) 에셋은 시맨틱상의 의미를 공유하는 에셋에 대한 공통 세팅을 다양하게 제공합니다. 사운드를 공통 분류로 묶는 주된 이유 중 하나는 바로 사운드 볼륨을 그룹 단위로 제어할 수 있기 때문입니다. 사운드 클래스는 별도의 사운드 클래스 그래프 에디터에서 생성 및 수정할 수 있습니다. 볼륨뿐만 아니라 Sound사운드 클래스도 클래스 그룹에 포함된 사운드의 다른 파라미터를 제어하는 데 사용될 수 있습니다.
사운드 믹스
사운드 믹스(Sound Mix)는 사운드 클래스에 다이내믹 사운드 클래스 볼륨과 피치 조절 툴을 적용하는 에셋 타입입니다. 사운드 믹스는 게임에서 더킹과 같은 클래스 기반 볼륨 컨트롤을 수행하는 전통적인 방식입니다.
볼륨 더킹(Volume ducking) 은 패시브 믹스 모디파이어, 즉 지정된 사운드 클래스에서 사운드가 재생될 때 믹스를 간접적으로 적용하는 메커니즘을 통해 이루어집니다. 이 방식을 통해 예를 들어 게임에서 플레이어가 대화 중일 때나 총격전이 벌어질 때 배경 분위기에 더킹을 유발할 수 있습니다.
사운드 파라미터 모듈레이션
게임 믹스를 제어하는 새로운 믹스 방식으로는 오디오 파라미터 모듈레이션(Parameter Modulation) 플러그인을 활용하는 것을 들 수 있습니다. 이 플러그인은 믹스를 통해 오디오 파라미터를 변경한다는 개념을 일반화합니다. 사운드는 이제 사운드 파라미터를 파라미터 버스의 모듈레이션 대상 (Modulation Destination) 으로 연결할 수 있습니다. 파라미터 버스(Parameter Bus) 란 임의의 파라미터 모듈레이션 소스가 버스에 쓸 수 있게 해 주는 오브젝트입니다. 예를 들어 모듈레이션 소스는 블루프린트에서 나오거나, 파라미터 믹스에서 파생되거나, 일종의 인터랙티브 시스템에서 나오거나, LFO 같은 파라미터 모듈레이션 오실레이터에서 나올 수 있습니다.
또한 파라미터 모듈레이션 플러그인은 사운드의 볼륨 파라미터만 제어하는 것이 아니라 파라미터 모듈레이션의 개념을 일반화하고, 동일한 패러다임으로 필터 주파수 컷오프 및 피치 모듈레이션 같은 여러 출력 파라미터를 제어할 수 있게 해 줍니다.
자세한 내용은 오디오 모듈레이션 개요를 참고하세요.
동시성 관리
사운드 동시성(Sound Concurrency), 즉 지정된 타입의 사운드가 동시에 재생 가능한 최대 개수의 문제는 게임 믹싱에서 쉽게 간과되는 부분입니다. 세심하게 관리하지 않으면 게임이 총소리나 적군의 무기에서 나는 소리처럼 특정 타입의 사운드를 대량으로 생성하기 십상입니다.
언리얼 오디오 엔진은 사운드 디자이너가 사운드 동시성 에셋으로 동시성 그룹을 제어할 수 있는 툴을 제공합니다. 이 에셋은 그룹에서 허용되는 사운드 개수의 한계와, 여기에 도달할 경우 어떤 작업을 해야 할지 정의합니다.
사운드 동시성은 특정 타입의 사운드가 동시에 얼마나 많이 재생될 수 있는지 관리하는 방법입니다.
예를 들어 사운드 디자이너는 새 사운드가 재생될 때 가장 오래된 사운드를 정지시키거나, 새 사운드의 재생을 거부하고 기존에 재생 중이던 사운드를 계속 재생하는 등의 경우를 선택할 수 있습니다.
또한 사운드 동시성으로는 그룹의 연속 재생, 즉 사운드가 재생되려면 통과해야 하는 동시성 해결 정책(Concurrency Resolution) 계층구조의 활용도 가능합니다.
예를 들어 발소리가 동시성에 들어가면 한 번에 재생되는 발소리의 수를 제한할 수 있습니다. 하지만 반대로 폴리 사운드의 동시성 그룹에도 들어갈 수 있고, SFX 사운드의 동시성 그룹에도 들어갈 수 있습니다.
자세한 내용은 SoundConcurrencySetting 생성을 참고하세요.
글로벌 폴리포니 관리 및 우선순위 설정
게임에서 한 번에 재생할 수 있는 사운드 개수를 관리하는 것을 폴리포니 관리(Polyphony Management) 또는 보이스 관리(Voice Management) 라고 부릅니다. 오디오 엔진의 주요 비용은 사운드 소스 디코딩 및 렌더링에서 발생하기 때문에 CPU 비용을 줄이는 주요 방법 중 하나는 바로 한 번에 재생될 수 있는 사운드의 수를 제한하는 것입니다.
언리얼 엔진에서는 그 수를 프로젝트 세팅에서 타깃 플랫폼별로 변경할 수 있습니다. 또한 이 수는 게임이 실행 중인 동안에도 동적으로 변경할 수 있으며 퍼포먼스에 병목 현상이 발생하거나 빠듯한 경우에는 오디오 엔진에서 렌더링되는 사운드 소스의 수를 동적으로 줄일 수 있습니다.
오디오 엔진이 동시 렌더링할 수 있는 사운드 수의 한계에 도달할 경우 어떤 사운드를 재생하고 어떤 사운드를 거부 또는 중지할지 결정해야 합니다. 이것은 사운드의 총 볼륨, 즉 모든 단계를 거친 사운드의 최종 볼륨과 사운드의 우선순위를 조합하여 수행됩니다. 자세한 내용은 우선순위를 참고하세요.
DSP 이펙트 및 합성
언리얼 오디오 엔진은 DSP(Digital Signal Processing) 라는 강력한 이펙트 처리 파이프라인 기능도 제공합니다.
각 사운드 소스는 개별 사운드 인스턴스에 적용될 DSP 이펙트 체인을 지정할 수 있습니다. 이러한 이펙트에 대한 세팅은 런타임에 블루프린트에서 변경될 수 있으며, 에디터에서 플레이(PIE) 세션이 진행되는 동안 변경사항을 라이브로 미리 볼 수 있습니다.
언리얼 오디오는 사운드 디자이너가 DSP 이펙트를 적용하고 사운드 소스의 믹스를 분석할 수 있는 서브믹스 그래프 에디터도 제공합니다. 서브믹스 이펙트 체인에서는 서브믹스 이펙트를 구성할 수 있습니다. 사운드 소스를 지정하여 지정된 서브 믹스를 재생하고, 모든 서브믹스 그래프에 해당 오디오를 전송 이펙트 (Send Effects) 로 전송 할 수 있습니다. 모든 사운드 소스는 블루프린트에서 오디오를 모든 서브믹스로 동적으로 라우팅할 수 있습니다. 또한 사운드 어테뉴에이션 세팅은 오디오를 거리 함수를 통해 서브믹스 이펙트에 전송하는 작업도 지원합니다. 덕분에 상당한 이점을 확보할 수 있습니다.
언리얼 오디오 엔진은 마스터 EQ, 마스터 컴프레션, 마스터 리버브 등 일반적인 마스터 이펙트 구성을 충분히 사용할 수 있을 만큼 유연하므로 다양한 커스텀 DSP 그래프와 라우팅 스킴을 실험하고 연구할 수 있습니다.
합성과 DSP 이펙트 플러그인에는 다양한 소스와 서브믹스 이펙트가 구현되어 있으며, 항상 새로운 이펙트가 추가되고 있습니다. 신호 처리 모듈의 DSP C++ 라이브러리가 지속적으로 개발되고 있으므로 언리얼 오디오 엔진의 DSP 및 합성 C++ API를 통해 새 이펙트를 추가하는 작업은 간단합니다.
언리얼 오디오 엔진은 자동 프로퍼티 리플렉션 및 핫 로드 DLL을 통해 언리얼 엔진의 다른 강력한 툴과 기술을 활용할 수 있으므로 DSP 이펙트를 구현하는 방법을 배우거나 최첨단 게임 오디오 기술을 실험하고 연구하는 플랫폼으로 이상적입니다.
에셋 쿠킹
타깃 플랫폼용으로 쿠킹하는 경우 에셋은 타깃 플랫폼과 사운드가 사용하는 모든 기능에 특화된 코덱으로 압축됩니다. 예를 들어 언리얼 엔진은 지원되는 플랫폼에서 하드웨어 가속 코덱을 사용하여 자동으로 인코딩합니다.
임포트한 에셋을 래핑하는 USoundWave
에는 사운드 디자이너가 지정된 에셋에서 타기팅하는 퀄리티와 관련하여 쿠킹 시간 압축 스킴을 지원하는 퀄리티 슬라이더가 갖춰져 있습니다. 퀄리티 값은 타깃 플랫폼에서 사용되는 특정 코덱에 따라 서로 다르게 해석됩니다.
에셋 압축 오버라이드: 자동 퀄리티 감소
언리얼 엔진은 사운드 디자이너와 엔지니어가 모든 타깃 플랫폼에서 자동 쿠킹 시간 다운샘플링과 퀄리티 스케일 감소를 제어할 수 있는 다양한 툴을 제공합니다. 따라서 광범위한 플랫폼에 프로젝트를 출시할 수 있으며, 플랫폼별로 콘텐츠를 다시 디자인해야 하는 수고도 최소화할 수 있습니다.
예를 들어 PC에 출시되는 프로젝트가 모바일 플랫폼으로 타깃이 변경되는 경우 에셋 메모리 풋프린트가 자동으로 줄어듭니다.
디버깅 및 프로파일링
언리얼 오디오 엔진은 언리얼 엔진과 완벽하게 통합되므로 언리얼 엔진에서 CPU 사용량 및 메모리 분석에 사용되는 다른 기존 프로파일링 툴의 이점을 그대로 활용할 수 있습니다. 언리얼 오디오 엔진 전체에 걸쳐 로우 레벨 메모리(LLM) 트래킹 에 대한 후킹과 CSV CPU 프로파일링 이 추가되어 있습니다. 또한 모든 오디오 CPU 활용 사례에서 언리얼 인사이트 툴을 액세스할 수 있습니다.
모든 언리얼 엔진 개발자가 사용할 수 있는 포괄적인 CPU 및 메모리 프로파일링 외에도 인게임에서 발생하는 오디오 이벤트를 확인 및 분석하는 데 사용할 수 있는 다양한 디버깅 툴이 제공됩니다. 예를 들면 다음과 같습니다.
재생 중인 모든 사운드 웨이브 인스턴스(사운드를 생성 중인 오브젝트)를 확인하려면 개발 콘솔 창에 stat soundwave 를 입력합니다.
재생 중인 사운드 큐를 확인하려면 콘솔 창에 stat soundcues 를 입력합니다.
게임에서 재생되는 3D 사운드를 시각화하려면 콘솔 창에 Audio3DVisualize 를 입력합니다.
또한 오디오 엔진의 다양한 컴포넌트를 활성화 및 비활성화하고 사운드 음소거 및 솔로잉의 활성화를 토글할 수 있는 다양한 콘솔 변수도 제공됩니다. 자세한 내용은 FAudioDevice를 참고하세요.