서브믹스(Submix) 는 전송되는 오디오가 없는 경우에도 항상 실행되는 디지털 신호 처리(Digital Signal Processing, DSP) 그래프 입니다.
언리얼 엔진 에서 제공하는 오디오 렌더러의 핵심 컴포넌트인 서브믹스는 다음과 같은 두 가지 역할을 수행합니다.
-
개별 소스에서 생성된 오디오를 단일 출력 버퍼로 믹스합니다.
-
DSP 이펙트를 여러 사운드 소스에 동시 적용하는 작업을 최적화합니다.
서브믹스는 흐르는 강이라고 생각하면 이해하기가 쉽습니다. 사운드가 재생되면 서브믹스로 흘러 들어갑니다. 서브믹스 하나가 다른 서브믹스와 연결되면 다음으로 이어집니다. 함께 쏟아지는 모든 사운드가 하나의 사운드 스트림으로 믹스되어 아래로 흐릅니다. 이때 이 흐름은 강과 마찬가지로 한 방향으로만 흐릅니다.
각 서브믹스의 엔드포인트(endpoint), 즉 하드웨어 출력은 단일 그래프에서 입력을 받습니다. 예를 들어 단일 디폴트 서브믹스 엔드포인트인 마스터 서브믹스는 단일 서브믹스 그래프를 정의합니다.
사운드 큐(Sound Cue) 는 다른 USoundBase
와 동일한 항목을 서브믹스에 전송할 수 있습니다.
블루프린트 를 사용하여 서브믹스에 대한 프로퍼티를 수정하면 서브믹스에서 오디오를 처리하는 방식을 변경할 수 있습니다.
서브믹스 생성하기
서브믹스는 다른 사운드 관련 에셋과 매우 비슷한 방법으로 콘텐츠 브라우저에서 직접 생성할 수 있습니다. 이렇게 하려면 콘텐츠 브라우저의 에셋 영역에서 우클릭하고 오디오(Audio) > 믹스(Mix) > 사운드 서브믹스(Sound Submix) 를 선택합니다.
서브믹스 그래프 에디터
서브믹스 에셋을 더블클릭하여 서브믹스 그래프 에디터(Submix Graph Editor) 를 엽니다.
이미지를 클릭하면 전체 크기로 표시됩니다.
서브믹스를 그래프 구조에 연결하고 한 서브믹스의 출력을 다른 서브믹스의 입력으로 설정할 수 있습니다.

그래프 에디터(Graph Editor) 내에서 새 서브믹스를 생성하려면 출력 또는 입력 핀을 그래프로 드래그하고 새 서브믹스를 명명합니다. 이름에는 공백을 포함할 수 없습니다. 이렇게 하면 새 서브믹스가 콘텐츠 브라우저에 추가됩니다.

서브믹스는 입력을 여러 개 가질 수 있지만 출력은 하나만 가질 수 있습니다.
마스터 서브믹스
마스터 서브믹스(Master Submix) 파라미터는 프로젝트 세팅(편집(Edit) > 프로젝트 세팅(Project Settings) > 엔진(Engine) > 오디오(Audio) > 믹스(Mix))에서 다음과 같이 설정됩니다.
이미지를 클릭하면 전체 크기로 표시됩니다.
서브믹스 아이콘을 더블클릭하여 마스터 서브믹스 프로퍼티에 액세스합니다.
이미지를 클릭하면 전체 크기로 표시됩니다.
마스터 서브믹스는 출력 엔드포인트(하드웨어 스피커 등)에 직접 연결됩니다. 이는 오디오 믹서의 최종 렌더링 단계이며, 이후 오디오가 플랫폼 오디오 백엔드에 전송된 다음, 플랫폼이 사용하는 오디오 디바이스에 전송됩니다.
서브믹스 출력 핀이 아무것에도 연결되어 있지 않은 경우 마스터 서브믹스로 출력을 전송합니다.
마스터 리버브 서브믹스
마스터 리버브 서브믹스(Master Reverb Submix) 세팅은 사운드 클래스(Sound Class) 에 있습니다.

-
마스터 리버브 서브믹스로 전송(Send to Master Reverb Submix): 사운드를 마스터 리버브로 전송합니다.
-
디폴트 2D 리버브 전송량(Default 2DReverb Send Amount): 2D 사운드를 마스터 리버브로 전송할 때의 전송 레벨을 설정합니다.
마스터 EQ 서브믹스
마스터 EQ 서브믹스(Master EQ Submix) 세팅은 레거시(Legacy) > 고급(Advanced) 의 사운드 클래스 에 있습니다.

마스터 EQ 서브믹스에 출력(Output to Master EQ Submix) 세팅이 활성화되어 있어야 사운드 클래스 믹스(Sound Class Mixes) 에서 EQ 세팅(EQ Settings) 이 작동합니다.
서브믹스로 오디오 전송하기
사운드 소스를 서브믹스에 전송해야 하는 경우 다음과 같은 몇 가지 방법을 사용할 수 있습니다.
-
사운드 소스 에셋에서 전송을 수동으로 구성합니다.
-
어테뉴에이션 세팅을 사용합니다.
-
블루프린트에서 동적으로 설정합니다.
-
오디오 볼륨을 통해 설정합니다.
수동으로 서브믹스 센드 구성하기
서브믹스에서 사운드 소스를 재생하거나 생성된 오디오를 서브믹스에 전송하려면 새 서브믹스 에셋을 사운드 소스에서 서브믹스 프로퍼티에 할당합니다. 사운드 에셋의 '서브믹스' 프로퍼티는 사운드의 베이스 서브믹스 로 간주되며 오디오의 100%가 해당 서브믹스에 전송됩니다.
이미지를 클릭하면 전체 크기로 표시됩니다.
프로퍼티:
-
서브믹스 센드(Submix Sends): 사운드 에셋의 서브믹스 센드 배열은 사운드 소스가 오디오의 일부를 전송하는 추가 서브믹스 배열입니다. 전송은 수동으로 또는 거리에 따라 이루어집니다. 예를 들어 사운드가 멀리 있을수록 서브믹스에 전송되는 오디오는 줄어듭니다.
-
레벨 컨트롤 메서드 전송(Send Level Control Method): 소스가 오디오를 표시된 서브믹스로 어떻게 전송할지 결정합니다.
-
수동(Manual): 사운드가 '전송 레벨(Send Level)' 값을 사용하여 오디오를 직접 전송합니다.
-
선형(Linear): 사운드가 '최소 전송 레벨(Min Send Level)' 및 '최대 전송 레벨(Max Send Level)'과 '최소 전송 거리(Min Send Distance)' 및 '최대 전송 거리(Max Send Distance)' 사이의 선형 매핑을 사용하여 오디오를 서브믹스로 전송합니다.
-
커스텀 커브(Custom Curve): 선형 매핑 대신 '커스텀 전송 레벨 커브(Custom Send Level Curve)'를 사용하여 오디오를 서브믹스에 전송합니다.
-
전송 스테이지(Send Stage): 소스 전송이 거리 어테뉴에이션 적용 이전과 이후 중 언제 이루어지는지 결정합니다.
-
사운드 서브믹스(Sound Submix): 사운드 소스가 이 서브믹스 센드 항목을 사용하여 오디오를 전송할 서브믹스입니다.
-
전송 레벨: '레벨 컨트롤 메서드 전송'이 수동으로 설정된 경우 사용할 전송 레벨입니다.
-
수동 전송 범위제한 비활성화(Disable Manual Send Clamp): 수동 레벨 컨트롤 메서드 전송을 사용할 때 0~1 범위제한을 활성화 또는 비활성화합니다.
-
최소 전송 레벨: 수동이 아닌 '레벨 컨트롤 메서드 전송'을 사용할 때 사용할 최소 전송 레벨입니다.
-
최대 전송 레벨: 선형 제어 메서드를 적용할 때 사용할 최대 전송 레벨입니다.
-
최소 전송 거리: 선형 제어 메서드를 적용할 때 사용할 최소 전송 거리입니다.
-
최대 전송 거리: 선형 제어 메서드를 적용할 때 사용할 최대 전송 거리입니다.
-
커스텀 전송 레벨 커브: 최소 전송 레벨 및 최대 전송 레벨과 최소 전송 거리 및 최대 전송 거리 매핑에 사용할 커브입니다.
사운드 어테뉴에이션을 사용하여 서브믹스에 전송하기
서브믹스 센드는 어테뉴에이션(Attenuation) 세팅을 사용하여 설정할 수도 있습니다. 이 방법을 사용하면 수많은 에셋에 대한 서브믹스 센드를 한 곳에서 간편하게 구성할 수 있습니다. 서브믹스 센드가 리스너와의 거리에 기반하여 오디오를 전송하므로, 이 방법은 거리 어테뉴에이션도 정의되어 있는 경우에 사용하는 것이 좋습니다.
이미지를 클릭하면 전체 크기로 표시됩니다.
이 방법에 대한 자세한 내용은 사운드 어테뉴에이션을 참고하세요.
블루프린트에서 동적으로 서브믹스에 전송하기
이 블루프린트 함수는 사용자가 선택한 방법을 사용하여 오디오 컴포넌트가 오디오를 임의의 서브믹스에 동적으로 라우팅하도록 지원합니다.

서브믹스 센드를 설정하려면 다음이 필요합니다.
-
타깃(Target): 오디오를 서브믹스에 전송하기 위해 사용할 오디오 컴포넌트입니다.
-
서브믹스: 오디오를 전송할 서브믹스입니다.
-
전송 레벨: 전송할 오디오의 양을 전체 볼륨의 %로 나타낸 수치입니다.
이 문서의 후반부에 나와 있는 블루프린트 API 및 서브믹스도 참고하세요.
오디오 볼륨을 사용하여 서브믹스에 전송하기
오디오 볼륨은 전송이 사운드 소스에서 직접 구성되는 것과 유사한 방식으로 오디오를 서브믹스에 전송하도록 지원합니다. 주된 차이는 서브믹스 센드가 오디오 볼륨 지오메트리에 상대적인 위치를 기반으로 한다는 점입니다.
이미지를 클릭하면 전체 크기로 표시됩니다.
서브믹스 센드 배열의 프로퍼티는 사운드 소스 자체에 직접 설정된 프로퍼티와 동일합니다.

사운드 소스는 리스너 위치 스테이트(Listener Location State) 에서 리스너가 볼륨 내부와 외부 중 어디에 표시되는지에 따라 오디오를 지정된 서브믹스 센드 배열에 전송합니다.
오디오 볼륨은 '리스너 위치 스테이트'에 따라 서브믹스 오버라이드(Submix Override) 도 지원합니다. 서브믹스는 리스너가 볼륨 내부와 외부 중 어디에 있는지에 따라 지정된 이펙트 체인에 의해 오버라이드됩니다.
서브믹스 프로퍼티
그래프 에디터 에서는 선택된 서브믹스에 대해 프로퍼티 디테일(Property Details) 패널이 서브믹스 그래프(Submix Graph)에 표시됩니다.
이미지를 클릭하면 전체 크기로 표시됩니다.
프로퍼티:
-
백그라운드 진입 시 음소거(Mute when Backgrounded): 애플리케이션이 백그라운드에 진입할 경우 출력에 0.0 의 볼륨 스칼라를 적용하여 서브믹스 자체에서 자동 음소거하도록 허용합니다. 이 기능은 게임이 기본적으로 일부 오디오를 백그라운드에서 계속 재생하도록 허용하지만 모든 오디오에 적용되지는 않습니다.
-
서브믹스 이펙트 체인(Submix Effect Chain): 믹스된 서브믹스 오디오가 입력될 서브믹스 이펙트 배열입니다. 이 이펙트는 합성 및 DSP 이펙트(Synthesis and DSP Effects) 플러그인으로 구현됩니다. 다른 언리얼 엔진 플러그인이 사용 가능한 서브믹스 이펙트 목록을 확장할 수도 있습니다.
-
앰비소닉 플러그인 세팅(Ambisonics Plugin Settings): 이 프로퍼티를 통해 플러그인은 서브믹스가 전송된 오디오 소스를 앰비소닉 사운드필드로 인코딩하도록 선택적으로 허용할 수 있습니다. 이러한 세팅은 사운드필드 인코딩 프로퍼티를 정의합니다.
이 프로퍼티가 허용하는 유일한 세팅 타입은 Oculus Ambisonics 세팅(Oculus 플러그인이 활성화된 경우)입니다. 사운드필드에 대한 자세한 내용은 네이티브 사운드필드 앰비소닉 렌더링을 참고하세요.
-
부모 서브믹스(Parent Submix): 선택된 서브믹스의 부모입니다. 부모 서브믹스는 렌더링된 출력을 입력으로 수신합니다.
-
자손 서브믹스(Child Submixes): 오디오를 선택된 서브믹스에 입력으로 피딩하는 자손 서브믹스 배열입니다.
-
엔벨로프 팔로워(Envelope Follower): 시간 경과에 따라 스무딩된 오디오 신호의 진폭을 출력하는 DSP 알고리즘입니다. '시작 시간(Attack Time)' 값은 증가하는 진폭, 시작(attack) 과 감소하는 진폭, 릴리즈(release) 에 알고리즘이 얼마나 빨리 반응하는지 정의합니다.
'엔벨로프 팔로워'를 사용하여 오디오 신호의 진폭을 얻는 것은 원본 오디오 데이터를 사용하는 것보다 훨씬 효과적인데, 이는 오디오 신호(예시: 초당 48,000개 샘플)가 게임 프레임(예: 초당 60프레임)보다 훨씬 빠르기 때문입니다.
서브믹스는 서브믹스에서 렌더링된 오디오에 대한 진폭 엔벨로프를 블루프린트가 수신하도록 허용하는 블루프린트 API도 갖습니다. 이 프로퍼티는 '엔벨로프 팔로워'가 어떻게 행동하는지 정의합니다.
-
서브믹스 레벨(Submix Level): 서브믹스에 대한 볼륨 레벨 전반을 제어합니다. 이 카테고리의 값은 선형 볼륨 게인(0.0 에서 1.0 등) 또는 데시벨(-120dB 에서 0dB)을 표시하도록 선택적으로 설정할 수 있습니다. 데시벨은 볼륨이 대수적으로 지각되었음을 나타내는 일반적인 볼륨 치수입니다.
-
출력 볼륨(Output Volume): 드라이 채널 및 웻 채널에서 전체 서브믹스에 대한 출력 볼륨 전반을 제어합니다. 이 프로퍼티로 게임 볼륨을 믹스하는 것은 권장되지 않지만 서브믹스에서 볼륨을 미세조정하는 데는 유용할 수 있습니다.
-
웻 레벨(Wet Level): 서브믹스 이펙트 체인을 통해 입력된 오디오의 출력 볼륨입니다. 오디오가 모두 이펙트를 통해 전송되어 서브믹스의 사용 대부분이 완전히 웻인 것으로 간주되기 때문에 이 값은 기본적으로 1.0 으로 설정됩니다.
-
드라이 레벨(Dry Level): 서브믹스 이펙트 체인을 통해 입력되지 않은 오디오의 출력 볼륨입니다. 오디오가 모두 이펙트를 통해 전송되어 서브믹스의 사용 대부분이 완전히 웻인 것으로 간주되기 때문에 이 값은 기본적으로 0.0으로 설정됩니다.
-
오디오 링크 세팅(Audio Link Settings): 선택적 오디오 링크 세팅 오브젝트입니다.
-
자동 비활성화(Auto Disable): 서브믹스가 무음인지, 잘 들리는지에 따라 서브믹스를 자동으로 활성화 또는 비활성화합니다. CPU 최적화에 유용합니다.
-
자동 비활성화 시간(Auto Disable Time): 서브믹스 비활성화까지 기다려야 하는 최소 시간입니다.
서브믹스 이펙트
합성 및 DSP 이펙트(Synthesis and DSP Effects) 플러그인으로 여러 서브믹스 이펙트를 사용할 수 있습니다. 이 플러그인은 에픽게임즈에서 제작하였으며 새로운 합성, 소스 이펙트, 서브믹스 이펙트가 이 플러그인에 종종 추가됩니다. 서드 파티 플러그인 제작자도 제공된 서브믹스 이펙트 목록에 손쉽게 추가할 수 있습니다.
사운드필드가 아닌 서브믹스 이펙트에 대한 일반적 요건은 다수의 오디오 채널(최대 8개 채널)을 처리할 수 있어야 한다는 것입니다.
서브믹스 이펙트 프리셋 만들기
서브믹스 이펙트 프리셋(Submix Effect Preset) 은 콘텐츠 브라우저에 존재하는 에셋이며 서브믹스 이펙트 체인에 후킹됩니다. 서브믹스 이펙트 프리셋을 생성하려면 콘텐츠 브라우저에서 우클릭한 후 오디오 > 이펙트(Effects) > 서브믹스 이펙트 프리셋(Submix Effect Preset) 을 선택합니다. 이렇게 하면 프리셋 에셋을 생성하려는 이펙트를 선택할 수 있는 클래스 선택 툴이 나타납니다.

플러그인은 서브믹스 이펙트 클래스 선택(Pick Submix Effect Class) 목록에서 사용 가능한 옵션을 자동으로 확장합니다.
블루프린트 API 및 서브믹스
서브믹스는 블루프린트 에서 매우 유용합니다. 예를 들어 블루프린트에서 사운드 서브믹스 변수(Sound Submix Variable) 레퍼런스를 생성하여 서브믹스를 레퍼런스할 수 있습니다.
이미지를 클릭하면 전체 크기로 표시됩니다.
블루프린트에서 서브믹스 오디오 녹음
서브믹스는 디스크로 출력되는 PCM(펄스 코드 모듈레이션) .wav
파일이나 사운드 웨이브(Sound Wave) 에셋 중 하나에 대한 서브믹스 오디오 출력 녹음을 지원합니다. 한 번에 서브믹스당 하나의 녹음만 활성화될 수 있습니다.
-
.wav
파일의 기본 저장 경로는Saved\BouncedWavFiles
입니다. -
사운드 웨이브(Sound Waves) 는 콘텐츠 브라우저의 루트 디렉터리에 저장됩니다.
Finish Recording Output 를 구성할 때 이 경로를 변경할 수 있습니다(아래 참고).

Start Recording Output 프로퍼티:
-
Expected Duration: 예상되는 기간(초) 동안 내부 오디오 버퍼를 사전 할당하는 선택적 고급 파라미터입니다.
-
Submix to Record: 녹음할 서브믹스입니다.
Pause Recording Output - 녹음을 일시정지합니다.

Resume Recording Output - 녹음을 재개합니다.

Finish Recording Output - 녹음을 종료하고 저장합니다.

프로퍼티:
-
Export Type: 서브믹스 녹음을
.wav
파일 또는 사운드 웨이브(UAsset) 중 어떤 것으로 익스포트하거나 저장할지 지정합니다. -
Name: 에셋의 이름입니다.
-
Path: 익스포트된 에셋의 경로입니다. 입력된 것이 없으면 익스포트 타입에 따라 디폴트 경로에 저장됩니다.
-
Submix to Record: 녹음된 서브믹스입니다.
-
Existing Sound Wave to Overwrite: 사운드 웨이브로 저장하는 경우 이전 에셋에 덮어쓸 수 있습니다.
블루프린트에서의 실시간 분석
서브믹스는 블루프린트에서 실시간으로 분석된 데이터를 엔벨로프 팔로잉(envelope following) 또는 고속 푸리에 변환(Fast Fourier Transform, FFT) 같은 스펙트럼 분석(spectral analysis) 을 통해 가져올 수 있도록 지원합니다.
엔벨로프 팔로잉 분석
서브믹스에서 새 엔벨로프 데이터를 사용할 수 있는 경우 Add Envelope Follower Delegate 가 호출됩니다.
이미지를 클릭하면 전체 크기로 표시됩니다.
'Add Envelope Follower Delegate'는 채널당 서브믹스의 엔벨로프 값(왼쪽, 오른쪽, 중앙, 왼쪽 서라운드, 오른쪽 서라운드 등)과 함께 호출됩니다.
Start Envelope Following 은 지정된 서브믹스에서 서브믹스 엔벨로프 팔로워를 시작합니다. 델리게이트가 후킹된 경우 실행하기 시작합니다.

Stop Envelope Following 은 지정된 서브믹스에서 서브믹스 엔벨로프 팔로워를 중지합니다.

스펙트럼 분석
Add Spectral Analysis Delegate 는 스펙트럼 분석을 제공합니다.

프로퍼티:
-
In Band Settings: 스펙트럼 분석 툴의 세팅을 정의하는 구조체입니다.
-
In Num Bands: 분석할 스펙트럴 밴드의 수입니다.
-
In Minimum Frequency: 스펙트럼 분석 툴에서 고려할 최소 주파수 범위(Hz)입니다.
-
In Maximum Frequency: 최대 주파수 범위입니다.
이 델리게이트는 세팅에 정의되어 있는 각 스펙트럴 밴드에 대한 스펙트럴 데이터와 함께 호출됩니다.
Start Spectral Analysis 는 스펙트럼 분석 툴을 시작합니다.

Stop Spectral Analysis 는 스펙트럼 분석 툴을 종료합니다.

블루프린트에서 볼륨 제어
블루프린트에서 서브믹스에 대해서도 볼륨 제어를 설정할 수 있습니다.
Set Submix Output Volume 은 서브믹스의 출력 볼륨을 직접 설정합니다.

블루프린트에서 서브믹스 이펙트 제어
Add Submix Effect 는 서브믹스 이펙트 체인 끝에 서브믹스 이펙트 프리셋을 동적으로 추가합니다.

Remove Submix Effect Preset 은 서브믹스 이펙트 체인에서 서브믹스 이펙트 프리셋을 제거합니다.

Remove Submix Effect Preset At Index 는 Remove Submix Effect Preset과 유사하지만, 이펙트가 인덱스에 존재하는 경우 서브믹스 이펙트 프리셋을 서브믹스 이펙트 체인의 해당 인덱스에서 제거합니다.

Replace Submix Effect 는 지정된 인덱스의 서브믹스 이펙트 프리셋을 새 이펙트 프리셋으로 대체합니다.

Clear Submix Effects 는 지정된 서브믹스에서 서브믹스 이펙트 체인을 지웁니다.

Set Submix Effect Chain Override 는 전체 서브믹스 이펙트 체인을 한 번에 오버라이드할 수 있는 방법을 제공합니다.

프로퍼티:
-
Sound Submix: 서브믹스 이펙트 프리셋 체인으로 오버라이드할 서브믹스입니다.
-
Submix Effect Preset Chain: 서브믹스 이펙트 프리셋의 배열입니다.
-
Fade Time Sec: 서브믹스 이펙트 체인의 크로스 페이드 시간입니다. 현재 이펙트 체인에서 새 이펙트 체인 오버라이드로 페이드합니다.
서브믹스 이펙트 체인 오버라이드 설정은 오디오 볼륨을 통해서도 가능합니다.
이미지를 클릭하면 전체 크기로 표시됩니다.
Clear Submix Effect Chain Override 는 설정된 서브믹스 이펙트 체인 오버라이드를 모두 지웁니다.

프로퍼티:
-
Sound Submix: 지울 서브믹스입니다.
-
Fade Time Sec: 현재 서브믹스 이펙트 체인 오버라이드가 디폴트 서브믹스 이펙트 체인으로 크로스 페이드되는 시간입니다.