PART 02 · 강의 2/3

MetaSounds 에디터와 노드

MetaSounds 에디터 인터페이스와 핵심 노드 라이브러리를 마스터합니다

01

MetaSounds 에디터 인터페이스

그래프 에디터의 구성과 워크플로우

MetaSounds 에디터는 Blueprint 에디터와 유사한 노드 기반 인터페이스를 제공합니다. Content Browser에서 MetaSound Source 또는 Patch를 더블 클릭하면 에디터가 열립니다.

에디터 패널 구성

패널 위치 역할
Graph Editor 중앙 노드 배치 및 연결, DSP 그래프 구성의 메인 캔버스
Members 좌측 Input/Output 정의, 그래프 변수, 참조된 Patch 목록
Details 우측 선택된 노드의 프로퍼티, 기본값, 메타데이터 편집
Palette 우측 탭 사용 가능한 전체 노드 목록 (검색 및 드래그 지원)
Analyzer 하단 실시간 오디오 파형 시각화, 스펙트럼 분석
에디터 단축키

우클릭: 노드 검색 및 추가 | Ctrl+드래그: 와이어 재연결 | Space: 미리듣기 재생/정지 | C: 코멘트 박스 생성

필수 Input/Output 노드

MetaSound Source에는 반드시 다음 노드가 필요합니다:

필수 그래프 구조
On Play (Trigger Input)
... DSP 처리 ...
Audio Out (Stereo/Mono Output)
On Finished (Trigger Output)
-- 재생 완료 시 Audio Component에 알림
02

소스 노드 (Generator)

오디오 신호를 생성하는 핵심 노드들

Wave Player

Sound Wave 에셋을 재생하는 가장 기본적인 소스 노드입니다. Mono, Stereo, 서라운드 버전이 별도로 존재합니다.

입력 핀 타입 설명
Play Trigger 재생 시작 트리거
Stop Trigger 재생 정지 트리거
Wave Asset WaveAsset 재생할 Sound Wave
Start Time Time 재생 시작 시간 (초)
Pitch Shift Float 피치 배수 (1.0 = 원본, 2.0 = 한 옥타브 위)
Loop Bool 루프 재생 여부

오실레이터 노드

Wave 파일 없이 실시간으로 오디오 신호를 합성하는 노드입니다.

노드 파형 주요 용도
Sine 사인파 순수 톤, FM 합성 캐리어/모듈레이터
Saw 톱니파 풍성한 하모닉스, 리드 사운드
Square 사각파 8비트 스타일, 서브베이스
Triangle 삼각파 부드러운 톤, 서브 오실레이터
Noise 화이트/핑크 노이즈 바람, 물소리 합성, 필터 테스트
LFO 저주파 오실레이터 비브라토, 트레몰로, 페이저 이펙트
WaveTable Oscillator 웨이브테이블 커스텀 파형, 고급 합성
Sound Cue와의 핵심 차이

Sound Cue에는 오실레이터가 존재하지 않습니다. Sound Cue는 오직 미리 녹음된 Wave 파일만 재생할 수 있습니다. MetaSounds만이 런타임에 오디오를 합성할 수 있으며, 이것이 "프로시저럴 오디오"의 핵심입니다.

03

프로세싱 노드

필터, 엔벨로프, 이펙트 등 신호 처리 노드

엔벨로프 (Envelope)

시간에 따른 값의 변화를 정의합니다. 사운드의 시작(Attack)과 소멸(Decay/Release)을 제어합니다.

노드 파라미터 설명
AD Envelope Attack Time, Decay Time, Attack Curve, Decay Curve 트리거 시 Attack-Decay 엔벨로프 생성
ADSR Envelope Attack, Decay, Sustain, Release 전통적인 ADSR 엔벨로프 (키보드 스타일)
Envelope Follower Attack Time, Release Time 입력 오디오의 볼륨 엔벨로프를 추출

필터 (Filter)

노드 동작 주요 파라미터
Biquad Filter 다목적 필터 (LP, HP, BP, Notch) Cutoff Frequency, Q Factor, Filter Type
One-Pole Low Pass 부드러운 고역 감쇠 Cutoff Frequency
One-Pole High Pass 저역 차단 (DC 제거) Cutoff Frequency
Ladder Filter 아날로그 스타일 래더 필터 Cutoff, Resonance
State Variable Filter LP/HP/BP 동시 출력 Cutoff, Resonance

이펙트 (Effects)

노드 효과
Delay시간 지연 이펙트
Flanger플랜저 (짧은 딜레이 변조)
Chorus코러스 (복수 딜레이 변조)
Stereo Delay스테레오 딜레이 (좌우 독립)
Compressor / Limiter다이나믹 레인지 제어
Distortion디스토션 / 오버드라이브
Ring Modulation링 모듈레이션 (두 신호의 곱)
04

유틸리티와 흐름 제어 노드

수학, 트리거, 라우팅, 변환 노드

트리거 유틸리티

노드 기능
Trigger Repeat주어진 주기로 트리거를 반복 발생
Trigger Counter트리거 발생 횟수 카운팅
Trigger Any / All여러 트리거를 OR / AND 결합
Trigger Delay트리거를 지정 시간만큼 지연
Trigger Route조건에 따라 트리거를 다른 경로로 라우팅

수학 노드

카테고리 주요 노드 데이터 타입
사칙연산Add, Subtract, Multiply, DivideAudio, Float, Int
비교Greater Than, Less Than, EqualFloat, Int → Bool
범위Clamp, Map Range, LerpFloat
변환MIDI to Frequency, Frequency to MIDI, dB to LinearFloat
랜덤Random Float, Random IntFloat, Int

실전 예시: 랜덤 변형 발자국 사운드

MetaSound - Randomized Footstep
On Play
Random Get (Wave Array)
Wave Player
Multiply (Volume)
Audio Out
Random Float (0.9 ~ 1.1)
Wave Player > Pitch Shift
Random Float (0.8 ~ 1.0)
Multiply > Gain 입력
Array 노드 활용

MetaSounds는 Wave Asset Array를 입력으로 받아 Random Get으로 랜덤 선택할 수 있습니다. Sound Cue의 Random 노드와 동일한 기능이지만, 피치/볼륨 변조까지 샘플 정확도로 동작합니다.

SUMMARY

핵심 요약

  • MetaSounds 에디터는 Graph Editor, Members, Details, Palette, Analyzer 패널로 구성된다
  • Wave Player는 가장 기본적인 소스 노드이며, 오실레이터로 실시간 합성도 가능하다
  • AD/ADSR Envelope으로 사운드의 시작과 소멸을 제어할 수 있다
  • Biquad Filter, Ladder Filter 등으로 주파수 필터링을 적용한다
  • 트리거 유틸리티(Repeat, Counter, Delay)로 복잡한 실행 흐름을 구성할 수 있다
  • 수학 노드와 Random 노드를 결합하여 매번 다른 변형의 사운드를 생성할 수 있다
PRACTICE

도전 과제

배운 내용을 직접 실습해보세요

실습 1: 핵심 MetaSound 노드 실습

MetaSound 에디터에서 다음 노드들을 조합하세요: Oscillator(Sine/Saw), ADSR Envelope, LFO, Filter(LowPass). 오실레이터의 출력을 ADSR로 감싸고, LFO로 필터 Cutoff를 모듈레이션하는 신디사이저 패치를 만드세요.

실습 2: MetaSound Patch 재사용

MetaSound Patch 에셋을 만들어 재사용 가능한 오디오 모듈(예: 리버브 + 딜레이 이펙트 체인)을 구성하세요. 이 Patch를 여러 MetaSound Source에서 참조하여 모듈식 오디오 설계의 장점을 체험하세요.

심화 과제: 커스텀 MetaSound 노드 C++ 구현

C++에서 Metasound::FNodeFacade를 상속받아 커스텀 MetaSound 노드를 구현하세요. 입력 오디오 신호에 비트크러셔(Bit Depth Reduction) 이펙트를 적용하는 커스텀 DSP 노드를 만들고 에디터에서 사용해보세요.