icon
8장 : 블루프린트 연동

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


나이아가라 파티클 시스템은 실시간 게임플레이뿐만 아니라, 언리얼 엔진의 강력한 시네마틱 툴인 레벨 시퀀스(Level Sequence, Sequencer) 와도 긴밀하게 통합될 수 있습니다. 레벨 시퀀스는 게임 내 이벤트, 컷신, 애니메이션 등을 정교하게 연출하는 데 사용되며, 나이아가라 시스템을 시퀀서에 통합하면 시각 효과의 타이밍, 강도, 외형 등을 영화처럼 정밀하게 제어할 수 있습니다. 이는 폭발의 섬광이 카메라 플래시에 맞춰 터지거나, 마법 주문의 시전 시간이 특정 애니메이션과 동기화되거나, 환경 효과가 컷신 장면에 맞춰 부드럽게 나타나는 등의 고품질 연출을 가능하게 합니다.

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


레벨 시퀀서에 나이아가라 시스템 추가하기

레벨 시퀀서에서 나이아가라 시스템을 제어하려면 먼저 시퀀서 트랙에 나이아가라 액터 또는 컴포넌트를 추가해야 합니다.

  1. 레벨 시퀀스 생성 또는 열기
    • 레벨 내에 레벨 시퀀스 액터가 없다면, Cinematics > Level Sequence를 클릭하여 새로운 레벨 시퀀스를 생성합니다.
    • 이미 존재하는 레벨 시퀀스를 엽니다.
  2. 나이아가라 액터 배치
    • 레벨에 제어하고자 하는 나이아가라 시스템 액터(Niagara System Actor) 를 배치합니다. (콘텐츠 브라우저에서 나이아가라 시스템 에셋을 레벨로 드래그하면 자동으로 Niagara System Actor가 생성됩니다.)
    • 또는 이미 블루프린트 내부에 Niagara Particle System 컴포넌트로 존재하는 경우, 해당 블루프린트 액터를 레벨에 배치합니다.
  3. 시퀀서 트랙에 추가
    • 레벨 시퀀서 창에서 + Track 버튼을 클릭하고 Actor to Sequencer를 선택한 다음, 레벨에 배치한 나이아가라 시스템 액터를 선택합니다.
    • 만약 블루프린트 내부의 컴포넌트를 제어하고 싶다면, 해당 블루프린트 액터를 추가한 뒤, 그 아래의 + Track 버튼을 클릭하고 Component > Niagara Particle System을 선택하여 컴포넌트 트랙을 추가합니다.

나이아가라 속성 애니메이션하기

나이아가라 시스템의 다양한 속성들을 레벨 시퀀서에서 시간에 따라 애니메이션하여 연출의 디테일을 높일 수 있습니다.

  1. 나이아가라 트랙 확장: 시퀀서에서 추가한 나이아가라 시스템 액터 또는 컴포넌트 트랙을 확장합니다.
  2. 속성 추가
    • 트랙 이름 옆의 + 버튼을 클릭하고 Properties 섹션에서 애니메이션하고자 하는 나이아가라 컴포넌트의 속성을 찾습니다.
    • 활성화/비활성화: Active 속성을 추가하면 나이아가라 시스템의 활성화 여부를 키프레임으로 제어할 수 있습니다.
    • 사용자 변수: 나이아가라 시스템에 노출된 사용자 변수(User Parameter) 들 또한 시퀀서에서 직접 애니메이션할 수 있습니다.
      • Parameters 섹션 아래에 User.YourParameterName 형식으로 나타납니다. 이를 선택하여 추가합니다.
      • : 나이아가라 에디터에서 사용자 변수 이름 앞에 Sequencer.와 같은 접두사를 붙여 User.Sequencer.ImpactStrength처럼 사용하면 시퀀서에서 찾기 더 쉽습니다.
    • 기본 트랜스폼: Transform 속성을 추가하여 나이아가라 시스템 액터의 위치, 회전, 스케일을 애니메이션할 수 있습니다.
  3. 키프레임 설정
    • 추가된 속성 트랙 옆의 + 버튼(또는 동그란 키 아이콘)을 클릭하여 현재 시간의 키프레임을 추가합니다.
    • 시퀀서 타임라인을 이동하고, Details 패널에서 속성 값을 변경한 뒤 다시 키프레임을 추가하면, 두 키프레임 사이에서 값이 보간되어 애니메이션됩니다.
    • 커브 에디터(Curve Editor)를 열어 키프레임 간의 보간 곡선을 정교하게 조절할 수 있습니다.

직접 해보기: 시퀀서로 폭발 효과의 크기와 강도 애니메이션하기

간단한 폭발 나이아가라 시스템을 만들고, 레벨 시퀀서에서 이 폭발의 크기와 강도를 애니메이션하여 제어해 보겠습니다.

  1. 나이아가라 시스템 생성
    • 새로운 나이아가라 시스템 (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) 노드를 연결하고 원하는 배율을 곱합니다.
    • 시스템을 저장합니다.
  2. 레벨에 나이아가라 액터 배치
    • NS_SequencerExplosion 나이아가라 에셋을 레벨로 드래그하여 Niagara System Actor를 생성합니다.
  3. 레벨 시퀀스 설정
    • 레벨에 Level Sequence Actor를 배치하거나 기존 시퀀스를 엽니다.
    • 시퀀서 창에서 + Track > Actor to Sequencer를 통해 레벨에 배치한 Niagara System Actor를 추가합니다.
    • Niagara System Actor 트랙을 확장합니다.
    • 트랙 이름 옆의 + 버튼을 클릭하고 Properties > Niagara Component 아래에서 Active, User.ExplosionScale, User.ExplosionIntensity 를 추가합니다.
  4. 애니메이션 키프레임 설정
    • 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)을 부드럽게 조절합니다.
  5. 시퀀서를 재생하여 폭발 효과가 시간 경과에 따라 크기와 강도가 변하며 나타났다가 사라지는 것을 확인합니다.

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

레벨 시퀀서 자체의 이벤트 트랙(Event Track) 을 활용하여 특정 시퀀서 지점에서 나이아가라 시스템에 명령을 내리거나, 나이아가라 시스템의 이벤트에 반응하여 시퀀서 내 다른 요소를 제어할 수 있습니다.

  • 시퀀서에서 나이아가라로 이벤트 보내기
    1. 시퀀서에서 나이아가라 시스템 트랙을 선택하고 + Track > Event Track을 추가합니다.
    2. 이벤트 트랙에 + 버튼을 클릭하여 Add Event Trigger를 선택하고, 원하는 시간에 키프레임을 추가합니다.
    3. 키프레임을 클릭하고 Details 패널에서 New Event를 클릭하여 New Event Trigger를 생성합니다.
    4. 이벤트에 이름을 지정하고(예: OnCustomTrigger), 실행할 Bound Actor를 나이아가라 시스템 액터로 설정합니다.
    5. Director Blueprint를 생성 또는 열고, 생성한 Event Trigger 노드를 찾아 Niagara Particle System 컴포넌트의 Set Niagara Variable이나 Activate 같은 노드를 연결하여 특정 액션이 실행되도록 합니다.
    • 활용 예시: 시퀀서의 특정 프레임에서만 특정 나이아가라 효과가 한 번 터지도록 트리거할 때.

시퀀서와 나이아가라 통합의 이점

  • 정밀한 타이밍 제어: 시퀀서의 타임라인을 통해 나이아가라 효과의 시작, 종료, 그리고 내부 파라미터 변화를 프레임 단위로 정교하게 조절할 수 있습니다.
  • 재사용성: 한 번 만든 나이아가라 시스템을 여러 시퀀스에서 재사용할 수 있으며, 각 시퀀스에서 다른 방식으로 애니메이션할 수 있습니다.
  • 워크플로우 효율성: 비주얼 이펙트 아티스트는 코드 없이 시퀀서 내에서 직접 나이아가라 효과를 연출하고 반복 작업하며, 애니메이터나 레벨 디자이너와 협업하기 용이합니다.
  • 고품질 시네마틱 연출: 게임 내 컷신이나 사전 렌더링된 시퀀스에서 나이아가라 효과를 최고 품질로 연출할 수 있습니다.

레벨 시퀀서와 나이아가라 시스템의 통합은 언리얼 엔진에서 시각적 연출의 정점을 찍을 수 있는 강력한 기능입니다. 타이밍에 맞춰 정교하게 제어되는 파티클 효과는 컷신과 게임플레이의 몰입도를 극대화하며, 영화 같은 경험을 선사합니다. 나이아가라 시스템의 모든 가능성을 탐색하고 싶다면, 레벨 시퀀서와의 연동은 반드시 마스터해야 할 기술입니다.