레벨 시퀀스와 나이아가라 통합
Sequencer 트랙에 나이아가라 시스템을 배치하고 활성 구간·사용자 변수·이벤트 키를 애니메이션과 동기화합니다.
나이아가라 파티클 시스템은 실시간 게임플레이뿐만 아니라, 언리얼 엔진의 강력한 시네마틱 툴인 레벨 시퀀스(Level Sequence, Sequencer)와도 긴밀하게 통합될 수 있습니다.
레벨 시퀀스는 게임 내 이벤트, 컷신, 애니메이션 등을 정교하게 연출하는 데 사용되며, 나이아가라 시스템을 시퀀서에 통합하면 시각 효과의 타이밍, 강도, 외형 등을 영화처럼 정밀하게 제어할 수 있습니다.
이는 폭발의 섬광이 카메라 플래시에 맞춰 터지거나, 마법 주문의 시전 시간이 특정 애니메이션과 동기화되거나, 환경 효과가 컷신 장면에 맞춰 부드럽게 나타나는 등의 고품질 연출을 가능하게 합니다.
이 절에서는 레벨 시퀀서에서 나이아가라 시스템을 추가하고, 그 속성을 애니메이션하며, 이벤트를 활용하는 기본적인 방법에 대해 알아보겠습니다.
시퀀서는 시간과 키프레임을 맡고, 나이아가라는 파티클 반응을 맡는다. 좋은 컷신 효과는 액터 배치, 사용자 변수 노출, 키프레임, 이벤트, 렌더 확인을 분리해서 관리할 때 안정적이다.
- Place
나이아가라 액터나 컴포넌트를 컷신 레벨에 배치한다.
- Expose
크기, 강도, 색 같은 User 값을 시퀀서에서 찾기 쉽게 만든다.
- Key
Active, Transform, User 값을 시간축에 키프레임으로 기록한다.
- Event
폭발, 섬광, 사운드 싱크는 이벤트 타이밍과 같이 점검한다.
- Review
카메라 컷, 모션 블러, 파티클 수명을 렌더 결과로 확인한다.
| 시퀀서 트랙 | 제어 값 | 나이아가라 반응 | 검증 기준 |
|---|---|---|---|
| Active | 켜짐, 꺼짐 | 이펙트 시작과 종료 | 컷 전환과 수명 종료 일치 |
| Transform | 위치, 회전, 스케일 | 카메라와 피사체에 맞춘 이동 | 월드 위치 튐 없음 |
| User | 강도, 색, 반경 | 파티클 크기와 속도 변화 | 변수 이름과 타입 일치 |
레벨 시퀀서에 나이아가라 시스템 추가하기
레벨 시퀀서에서 나이아가라 시스템을 제어하려면 먼저 시퀀서 트랙에 나이아가라 액터 또는 컴포넌트를 추가해야 합니다.
- 레벨 내에 레벨 시퀀스 액터가 없다면,
Cinematics>Level Sequence를 클릭하여 새로운 레벨 시퀀스를 생성합니다. - 이미 존재하는 레벨 시퀀스를 엽니다.
- 레벨에 제어하고자 하는 나이아가라 시스템 액터(Niagara System Actor)를 배치합니다. (콘텐츠 브라우저에서 나이아가라 시스템 에셋을 레벨로 드래그하면 자동으로
Niagara System Actor가 생성됩니다.) - 또는 이미 블루프린트 내부에
Niagara Particle System컴포넌트로 존재하는 경우, 해당 블루프린트 액터를 레벨에 배치합니다.
- 레벨 시퀀서 창에서
+ Track버튼을 클릭하고Actor to Sequencer를 선택한 다음, 레벨에 배치한 나이아가라 시스템 액터를 선택합니다. - 만약 블루프린트 내부의 컴포넌트를 제어하고 싶다면, 해당 블루프린트 액터를 추가한 뒤, 그 아래의
+ Track버튼을 클릭하고Component>Niagara Particle System을 선택하여 컴포넌트 트랙을 추가합니다.
나이아가라 속성 애니메이션하기
나이아가라 시스템의 다양한 속성들을 레벨 시퀀서에서 시간에 따라 애니메이션하여 연출의 디테일을 높일 수 있습니다.
나이아가라 트랙 확장: 시퀀서에서 추가한 나이아가라 시스템 액터 또는 컴포넌트 트랙을 확장합니다.
- 트랙 이름 옆의
+버튼을 클릭하고Properties섹션에서 애니메이션하고자 하는 나이아가라 컴포넌트의 속성을 찾습니다. - 활성화/비활성화:
Active속성을 추가하면 나이아가라 시스템의 활성화 여부를 키프레임으로 제어할 수 있습니다. - 사용자 변수: 나이아가라 시스템에 노출된 사용자 변수(User Parameter)들 또한 시퀀서에서 직접 애니메이션할 수 있습니다.
Parameters섹션 아래에User.YourParameterName형식으로 나타납니다. 이를 선택하여 추가합니다.- 팁: 나이아가라 에디터에서 사용자 변수 이름 앞에
Sequencer.와 같은 접두사를 붙여User.Sequencer.ImpactStrength처럼 사용하면 시퀀서에서 찾기 더 쉽습니다.
- 기본 트랜스폼:
Transform속성을 추가하여 나이아가라 시스템 액터의 위치, 회전, 스케일을 애니메이션할 수 있습니다.
- 추가된 속성 트랙 옆의
+버튼(또는 동그란 키 아이콘)을 클릭하여 현재 시간의 키프레임을 추가합니다. - 시퀀서 타임라인을 이동하고,
Details패널에서 속성 값을 변경한 뒤 다시 키프레임을 추가하면, 두 키프레임 사이에서 값이 보간되어 애니메이션됩니다. - 커브 에디터(Curve Editor)를 열어 키프레임 간의 보간 곡선을 정교하게 조절할 수 있습니다.
직접 해보기: 시퀀서로 폭발 효과의 크기와 강도 애니메이션하기
간단한 폭발 나이아가라 시스템을 만들고, 레벨 시퀀서에서 이 폭발의 크기와 강도를 애니메이션하여 제어해 보겠습니다.
- 새로운 나이아가라 시스템 (
New system from selected emitters>Fountain템플릿 사용)을 만들고NS_SequencerExplosion이라고 이름을 지정합니다. Emitter Update섹션의Spawn Rate모듈을 제거합니다.Spawn Burst Instantaneous모듈을 추가하고Spawn Count는100.0으로 설정합니다. (단발성 폭발)Initialize Particle에서Lifetime,Sprite Size,Color를 폭발에 적합하게 설정합니다. (예:Lifetime짧게,Sprite Size는 나중에 스케일링,Color는 주황/빨강)Add Velocity에서Sphere형태로 초기 속도를 설정하여 파티클이 사방으로 퍼지게 합니다.Add Gravity Force및Drag모듈을 추가하여 물리적 효과를 줍니다.-
사용자 변수 노출
Parameters패널의User섹션에서+버튼을 클릭하고Add User Parameter>Float를 선택하여User.ExplosionScale(기본값1.0) 및User.ExplosionIntensity(기본값1.0)를 만듭니다.
-
변수 활용
Initialize Particle모듈의Sprite Size입력에Get Parameter(User.ExplosionScale) 노드를 연결하고 원하는 배율을 곱합니다.Add Velocity모듈의Sphere속도Radius입력에Get Parameter(User.ExplosionIntensity) 노드를 연결하고 원하는 배율을 곱합니다.
- 시스템을 저장합니다.
NS_SequencerExplosion나이아가라 에셋을 레벨로 드래그하여Niagara System Actor를 생성합니다.
- 레벨에
Level Sequence Actor를 배치하거나 기존 시퀀스를 엽니다. - 시퀀서 창에서
+ Track>Actor to Sequencer를 통해 레벨에 배치한Niagara System Actor를 추가합니다. Niagara System Actor트랙을 확장합니다.- 트랙 이름 옆의
+버튼을 클릭하고Properties>Niagara Component아래에서Active,User.ExplosionScale,User.ExplosionIntensity를 추가합니다.
-
0초 지점
Active트랙에 키프레임을 추가하고 체크 해제 (비활성화 상태로 시작).User.ExplosionScale트랙에 키프레임을 추가하고 값을0.0으로 설정.User.ExplosionIntensity트랙에 키프레임을 추가하고 값을0.0으로 설정.
-
0.1초 지점 (폭발 발생 순간)
Active트랙에 키프레임을 추가하고 체크 (시스템 활성화).User.ExplosionScale트랙에 키프레임을 추가하고 값을5.0이상으로 설정하여 폭발이 커지게 함.User.ExplosionIntensity트랙에 키프레임을 추가하고 값을2.0이상으로 설정하여 파티클이 강하게 퍼지게 함.
-
0.5초 지점
User.ExplosionScale트랙에 키프레임을 추가하고 값을0.0으로 설정하여 폭발이 수그러들게 함.User.ExplosionIntensity트랙에 키프레임을 추가하고 값을0.0으로 설정하여 파티클 확산이 멈추게 함.
-
1.0초 지점
Active트랙에 키프레임을 추가하고 체크 해제 (폭발 종료 후 시스템 비활성화).
- 각 키프레임의 보간(interpolation)을 부드럽게 조절합니다. 시퀀서를 재생하여 폭발 효과가 시간 경과에 따라 크기와 강도가 변하며 나타났다가 사라지는 것을 확인합니다.
- 0.0초 · 대기
Active off, Scale 0, Intensity 0
- 0.1초 · 폭발
Active on, Scale 5.0+, Intensity 2.0+
- 0.5초 · 잔광 수습
Active는 유지하고 Scale과 Intensity를 0으로 감쇠
- 1.0초 · 종료
Active off, 모든 파라미터 0
시퀀서 이벤트와 나이아가라 이벤트 연동
시네마틱 효과는 시작 키, 파라미터 변화, 종료 키, 재생 범위가 맞아야 프리뷰와 실제 재생이 흔들리지 않는다.
| 구간 | Sequencer에서 하는 일 | Niagara에서 확인할 값 | 문제 신호 |
|---|---|---|---|
| Start | 이벤트 트랙 또는 Spawn 키 | System 활성화와 위치 | 한 박자 늦거나 먼저 나옴 |
| Parameter | Float/Color/Vector 키프레임 | User Parameter 이름과 타입 | 키가 움직여도 효과가 그대로 |
| Attach | Actor 또는 Socket 바인딩 | Local/world transform | 카메라나 캐릭터와 어긋남 |
| End | Deactivate 또는 Auto Destroy | 수명과 남는 입자 | 컷 이후에도 잔상이 남음 |
| Preview | 시퀀서 재생과 PIE 비교 | 동일 타이밍 재현 | 프리뷰와 실제 게임이 다름 |
레벨 시퀀서 자체의 이벤트 트랙(Event Track)을 활용하여 특정 시퀀서 지점에서 나이아가라 시스템에 명령을 내리거나, 나이아가라 시스템의 이벤트에 반응하여 시퀀서 내 다른 요소를 제어할 수 있습니다.
-
시퀀서에서 나이아가라로 이벤트 보내기
시퀀서에서 나이아가라 시스템 트랙을 선택하고
+ Track>Event Track을 추가합니다.이벤트 트랙에
+버튼을 클릭하여Add Event Trigger를 선택하고, 원하는 시간에 키프레임을 추가합니다.키프레임을 클릭하고
Details패널에서New Event를 클릭하여New Event Trigger를 생성합니다.이벤트에 이름을 지정하고(예:
OnCustomTrigger), 실행할Bound Actor를 나이아가라 시스템 액터로 설정합니다.Director Blueprint를 생성 또는 열고, 생성한Event Trigger노드를 찾아Niagara Particle System컴포넌트의Set Niagara Variable이나Activate같은 노드를 연결하여 특정 액션이 실행되도록 합니다.- 활용 예시: 시퀀서의 특정 프레임에서만 특정 나이아가라 효과가 한 번 터지도록 트리거할 때.
시퀀서와 나이아가라 통합의 이점
- 정밀한 타이밍 제어: 시퀀서의 타임라인을 통해 나이아가라 효과의 시작, 종료, 그리고 내부 파라미터 변화를 프레임 단위로 정교하게 조절할 수 있습니다.
- 재사용성: 한 번 만든 나이아가라 시스템을 여러 시퀀스에서 재사용할 수 있으며, 각 시퀀스에서 다른 방식으로 애니메이션할 수 있습니다.
- 워크플로우 효율성: 비주얼 이펙트 아티스트는 코드 없이 시퀀서 내에서 직접 나이아가라 효과를 연출하고 반복 작업하며, 애니메이터나 레벨 디자이너와 협업하기 용이합니다.
- 고품질 시네마틱 연출: 게임 내 컷신이나 사전 렌더링된 시퀀스에서 나이아가라 효과를 최고 품질로 연출할 수 있습니다.
레벨 시퀀서와 나이아가라를 연동하면 컷신이나 연출 타이밍에 맞춰 파티클을 제어할 수 있습니다.
레벨 시퀀서와 나이아가라를 연동하면 컷신이나 연출 타이밍에 맞춰 파티클 상태를 제어할 수 있습니다.
트랙, 키프레임, 파라미터 전환을 기준으로 검증하세요.
레벨 시퀀스와 나이아가라를 통합할 때는 이펙트 수명과 타임라인 큐를 함께 관리해야 합니다.
아래 다이어그램은 시퀀서 연동 기준입니다.
타임라인에서 여러 이펙트를 겹쳐 쓸 때는 발생 순서, 파라미터 키, 종료 조건을 큐처럼 관리해야 한다.
| 큐 항목 | 정하는 값 | 좋은 상태 | 실패 신호 |
|---|---|---|---|
| Event Key | 이펙트 시작 프레임 | 액션과 정확히 맞음 | 한 프레임 늦거나 빨리 시작 |
| Spawn Target | 위치, 소켓, 액터 바인딩 | 대상 이동을 따라감 | 월드 좌표에 남아 어긋남 |
| Parameter Key | 색, 크기, 강도 변화 | 컷 감정선과 함께 변함 | 키가 있어도 값이 안 들어감 |
| Lifetime | Deactivate, Auto Destroy | 컷 이후 잔여 입자 정리 | 다음 컷에 잔상이 남음 |
| Overlap | 동시에 재생되는 효과 수 | 중요한 이펙트가 묻히지 않음 | 투명 효과가 겹쳐 비용 증가 |
컷신용 이펙트는 보기 좋은 순간뿐 아니라 프리롤, 키프레임, 잔상 정리까지 같은 타임라인에서 검수해야 합니다.
시퀀서에서 나이아가라를 제어할 때는 보이는 폭발 순간뿐 아니라 준비 시간, 키프레임 보간, 컷 이후 잔상까지 검수합니다.
- Pre프리롤 확보
Pre 필요한 시스템은 컷 시작 전에 준비해 첫 프레임 누락을 막습니다.
- Key파라미터 키
Key User.ExplosionScale 처럼 연출용 값을 별도 키로 둡니다.
- Cue이벤트 큐
Cue Event Track은 사운드, 카메라 흔들림, Activate 명령과 위치를 맞춥니다.
- Out잔상 정리
Out 컷 종료 후 남는 파티클, 라이트, 비활성 타이밍을 따로 확인합니다.
- 0f
Active 상태와 초기 파라미터가 의도대로 시작되는지 확인합니다.
- Peak
폭발, 섬광, 카메라 움직임의 최대 지점이 같은 박자에 있는지 봅니다.
- Tail
잔상 수명과 Deactivate 키가 다음 컷을 침범하지 않는지 봅니다.
레벨 시퀀스와 나이아가라를 맞출 때는 시스템 트랙, 파라미터 키, 이벤트 타이밍이 같은 시간축에 있는지 확인합니다.
시네마틱에서는 Niagara System 트랙, User Parameter 키프레임, Sequencer Event를 같은 타임라인에서 맞춰야 타이밍이 흔들리지 않습니다.
- System Track
Track Level Sequence에 Niagara Actor 또는 Component를 넣고 활성 구간을 정합니다.
- 파라미터 애니메이션
Key User.Intensity, User.Scale 같은 값을 키프레임으로 조정합니다.
- Sequencer Event
Event 폭발 시작, 카메라 흔들림, 사운드 재생을 같은 프레임에 맞춥니다.
- 프리뷰와 출력
Render MRQ 렌더 전 프리롤과 반복 재생 결과가 같은지 확인합니다.
- 프리롤
시작 프레임 전에 필요한 입자가 준비되도록 Warmup을 설정합니다.
- 루프
Looping 시스템이 컷 종료 후 남지 않도록 비활성 구간을 둡니다.
- 렌더
에디터 프리뷰와 Movie Render Queue 결과의 타이밍을 비교합니다.
레벨 시퀀스와 나이아가라 통합은 트리거 시점, 재생 구간, 바인딩, 반복 재현성 기준으로 확인합니다.