본문 바로가기
프로그래밍 공부/Unreal Engine 4

[Unreal Engine 일반] 비주얼 이펙트(VFX) 시스템 개요 - 파티클 시스템(Particle System)과 나이아가라 시스템(Niagara System)

by 섬댕이 2023. 5. 10.

 

언리얼 엔진의 비주얼 이펙트(visual effect, VFX) 시스템

언리얼 엔진에는 다양한 시각적 효과를 표현하기 위한 파티클 시스템(particle system)나이아가라 시스템(Niagara system)이 탑재되어있다(언리얼 엔진 4 버전 이상을 기준). 파티클 시스템과 나이아가라 시스템은 공통적으로 UFXSystemAsset이라는 기반 클래스로부터 상속되어 구현되는 파생 클래스들이며, 우리가 구현하는 월드에 여러 가지 파티클을 스폰(spawn)하는 이미터들을 가지고 있다. 언리얼 엔진 4 버전 이전에는 주로 파티클 시스템을 기반으로 비주얼 이펙트를 생성하고 편집하였으나, 언리얼 엔진 4부터는 나이아가라 VFX 시스템이 새로 추가되었다.

 

 


 

파티클 시스템(particle system)의 특징

파티클 시스템은 캐스케이드(cascade)라는 모듈식 파티클 이펙트 에디터로 편집할 수 있는 시스템이다. 각각의 파티클들은 기본적으로 머티리얼(material)에 따른 모양을 가진다. 파티클 시스템은 아래와 같은 주요한 특징을 가진다.

 

캐스케이드 에디터 화면의 일부, 파티클 시스템을 구성하는 기본 요소들

 

  • 파티클 이미터(particle emitter)는 파티클의 색, 위치, 운동, 크기 등을 제어하는 모듈(module)들로 구성된다.
  • 언리얼 엔진에서 만들어진 모듈만 사용할 수 있다.
  • 이미터(왼쪽 → 오른쪽), 모듈(위 → 아래)들이 각각 정해진 순차적인 순서로 누적 계산되어 이펙트가 구현된다.
  • 비헤이비어를 추가할 때 빠르다.
  • 캐스케이드의 기능 변경, 추가, 제거는 프로그래머만 할 수 있다.
  • 시스템에 항목이 추가되면 파티클 페이로드가 증가한다.
  • 파티클 시스템과 엔진의 나머지 부분 간의 데이터 공유가 거의 불가능하다.
  • 이벤트가 제한적이고 번거롭다.
  • CPU와 GPU 시뮬레이션이 매우 다르다.

 


 

나이아가라 시스템(Niagara system)의 특징

나이아가라 시스템은 언리얼 엔진의 차세대 VFX 시스템으로, 파티클 시스템의 단점을 보완하여 보다 유연하게 사용할 수 있으며 기존 캐스케이드에 비해 비 프로그래머 유저들에 대한 접근성을 높일 수 있도록 새로이 만들어진 비주얼 이펙트 시스템이다. 나이아가라 시스템은 아래와 같은 주요한 특징을 가진다.

 

나이아가라 시스템을 구성하는 기본 요소들

 

  • 나이아가라 시스템의 이미터를 그 자체로 독립적인 애셋으로 만들고 재사용할 수 있다.
  • HLSL 또는 그래프에서 노드를 사용해서 새로운 모듈을 제작할 수 있다.
  • 언리얼 엔진에 포함되지 않은 다른 애플리케이션의 데이터를 사용할 수 있다.
  • 파티클 페이로드 데이터(Emitter.Age, Particle.Position 등)가 공개되어있다.
  • 데이터를 추상화한 형태인 파라미터를 통해 다양한 데이터의 유형을 모듈에 추가할 수 있다.
  • 기존의 스택 패러다임에 추가적으로 그래프 패러다임을 결합한 하이브리드 형태이다.
    • 그래프 패러다임(모듈 스크립트) + 스택 패러다임 및 시퀀서 타임라인(이미터 및 시스템).
  • 이벤트 및 시뮬레이션 스테이지와 같은 고급 스테이지를 포함한 여러 스테이지가 존재한다.

 


 

* 해당 카테고리의 글은 Unreal Engine 개발사인 Epic Games 사의 Official Site에 있는 Unreal Engine Documentation의 내용에 기반하여 추가적으로 구글링 등을 통해 얻은 정보를 개인적으로 요약/정리해 본 글입니다. 만약 잘못 정리된 내용이 있다면, 댓글이나 이메일로 공유해주시면 수정하도록 하겠습니다.

댓글