본문으로 건너뛰기

안동민 개발노트

본문 시작

레벨 시퀀스와 나이아가라 통합

Sequencer 트랙에 나이아가라 시스템을 배치하고 활성 구간·사용자 변수·이벤트 키를 애니메이션과 동기화합니다.

나이아가라 파티클 시스템은 실시간 게임플레이뿐만 아니라, 언리얼 엔진의 강력한 시네마틱 툴인 레벨 시퀀스(Level Sequence, Sequencer)와도 긴밀하게 통합될 수 있습니다.

레벨 시퀀스는 게임 내 이벤트, 컷신, 애니메이션 등을 정교하게 연출하는 데 사용되며, 나이아가라 시스템을 시퀀서에 통합하면 시각 효과의 타이밍, 강도, 외형 등을 영화처럼 정밀하게 제어할 수 있습니다.

이는 폭발의 섬광이 카메라 플래시에 맞춰 터지거나, 마법 주문의 시전 시간이 특정 애니메이션과 동기화되거나, 환경 효과가 컷신 장면에 맞춰 부드럽게 나타나는 등의 고품질 연출을 가능하게 합니다.

이 절에서는 레벨 시퀀서에서 나이아가라 시스템을 추가하고, 그 속성을 애니메이션하며, 이벤트를 활용하는 기본적인 방법에 대해 알아보겠습니다.

시퀀서와 나이아가라 연출 제어 지도

시퀀서는 시간과 키프레임을 맡고, 나이아가라는 파티클 반응을 맡는다. 좋은 컷신 효과는 액터 배치, 사용자 변수 노출, 키프레임, 이벤트, 렌더 확인을 분리해서 관리할 때 안정적이다.

  1. Place

    나이아가라 액터나 컴포넌트를 컷신 레벨에 배치한다.

  2. Expose

    크기, 강도, 색 같은 User 값을 시퀀서에서 찾기 쉽게 만든다.

  3. Key

    Active, Transform, User 값을 시간축에 키프레임으로 기록한다.

  4. Event

    폭발, 섬광, 사운드 싱크는 이벤트 타이밍과 같이 점검한다.

  5. 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 Count100.0으로 설정합니다. (단발성 폭발)
  • Initialize Particle에서 Lifetime, Sprite Size, Color를 폭발에 적합하게 설정합니다. (예: Lifetime 짧게, Sprite Size는 나중에 스케일링, Color는 주황/빨강)
  • Add Velocity에서 Sphere 형태로 초기 속도를 설정하여 파티클이 사방으로 퍼지게 합니다.
  • Add Gravity ForceDrag 모듈을 추가하여 물리적 효과를 줍니다.
  • 사용자 변수 노출
    • 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.1초 폭발, 0.5초 감쇠 종료, 1초 비활성화로 이어지는 Niagara 폭발 파라미터 키프레임
폭발 키프레임의 시간 변화 Scale과 Intensity는 각자 설정한 최대값 기준으로 0.1초에 100퍼센트가 된 뒤 0.5초에 0으로 감쇠한다. Active는 0.1초에 켜져 1초에 꺼진다. 100% 50% 0% 0.0s 0.1s 0.5s 1.0s 폭발 감쇠 완료 Active off Scale · Intensity (각 최대값 기준) Active (off 0% · on 100%)
  1. 0.0초 · 대기

    Active off, Scale 0, Intensity 0

  2. 0.1초 · 폭발

    Active on, Scale 5.0+, Intensity 2.0+

  3. 0.5초 · 잔광 수습

    Active는 유지하고 Scale과 Intensity를 0으로 감쇠

  4. 1.0초 · 종료

    Active off, 모든 파라미터 0

선은 각 파라미터가 설정한 최대값을 100%로 정규화한 키프레임 정점을 잇는다. 실제 중간값은 Niagara의 보간 설정에 따라 달라질 수 있으며, 계열 사이의 절대 크기는 비교하지 않는다.

시퀀서 이벤트와 나이아가라 이벤트 연동

Sequencer 이벤트는 타임라인 키와 Niagara 수명을 맞춘다

시네마틱 효과는 시작 키, 파라미터 변화, 종료 키, 재생 범위가 맞아야 프리뷰와 실제 재생이 흔들리지 않는다.

구간Sequencer에서 하는 일Niagara에서 확인할 값문제 신호
Start이벤트 트랙 또는 Spawn 키System 활성화와 위치한 박자 늦거나 먼저 나옴
ParameterFloat/Color/Vector 키프레임User Parameter 이름과 타입키가 움직여도 효과가 그대로
AttachActor 또는 Socket 바인딩Local/world transform카메라나 캐릭터와 어긋남
EndDeactivate 또는 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색, 크기, 강도 변화컷 감정선과 함께 변함키가 있어도 값이 안 들어감
LifetimeDeactivate, Auto Destroy컷 이후 잔여 입자 정리다음 컷에 잔상이 남음
Overlap동시에 재생되는 효과 수중요한 이펙트가 묻히지 않음투명 효과가 겹쳐 비용 증가

컷신용 이펙트는 보기 좋은 순간뿐 아니라 프리롤, 키프레임, 잔상 정리까지 같은 타임라인에서 검수해야 합니다.

컷신 이펙트: 프레임 밖 정리까지 연출

시퀀서에서 나이아가라를 제어할 때는 보이는 폭발 순간뿐 아니라 준비 시간, 키프레임 보간, 컷 이후 잔상까지 검수합니다.

  1. Pre
    프리롤 확보

    Pre 필요한 시스템은 컷 시작 전에 준비해 첫 프레임 누락을 막습니다.

  2. Key
    파라미터 키

    Key User.ExplosionScale 처럼 연출용 값을 별도 키로 둡니다.

  3. Cue
    이벤트 큐

    Cue Event Track은 사운드, 카메라 흔들림, Activate 명령과 위치를 맞춥니다.

  4. Out
    잔상 정리

    Out 컷 종료 후 남는 파티클, 라이트, 비활성 타이밍을 따로 확인합니다.

  5. 0f

    Active 상태와 초기 파라미터가 의도대로 시작되는지 확인합니다.

  6. Peak

    폭발, 섬광, 카메라 움직임의 최대 지점이 같은 박자에 있는지 봅니다.

  7. Tail

    잔상 수명과 Deactivate 키가 다음 컷을 침범하지 않는지 봅니다.

레벨 시퀀스와 나이아가라를 맞출 때는 시스템 트랙, 파라미터 키, 이벤트 타이밍이 같은 시간축에 있는지 확인합니다.

Sequencer와 Niagara 동기화

시네마틱에서는 Niagara System 트랙, User Parameter 키프레임, Sequencer Event를 같은 타임라인에서 맞춰야 타이밍이 흔들리지 않습니다.

  1. System Track

    Track Level Sequence에 Niagara Actor 또는 Component를 넣고 활성 구간을 정합니다.

  2. 파라미터 애니메이션

    Key User.Intensity, User.Scale 같은 값을 키프레임으로 조정합니다.

  3. Sequencer Event

    Event 폭발 시작, 카메라 흔들림, 사운드 재생을 같은 프레임에 맞춥니다.

  4. 프리뷰와 출력

    Render MRQ 렌더 전 프리롤과 반복 재생 결과가 같은지 확인합니다.

  5. 프리롤

    시작 프레임 전에 필요한 입자가 준비되도록 Warmup을 설정합니다.

  6. 루프

    Looping 시스템이 컷 종료 후 남지 않도록 비활성 구간을 둡니다.

  7. 렌더

    에디터 프리뷰와 Movie Render Queue 결과의 타이밍을 비교합니다.

레벨 시퀀스와 나이아가라 통합은 트리거 시점, 재생 구간, 바인딩, 반복 재현성 기준으로 확인합니다.