언리얼 엔진의 비주얼 이펙트(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의 내용에 기반하여 추가적으로 구글링 등을 통해 얻은 정보를 개인적으로 요약/정리해 본 글입니다. 만약 잘못 정리된 내용이 있다면, 댓글이나 이메일로 공유해주시면 수정하도록 하겠습니다.
'프로그래밍 공부 > Unreal Engine 4' 카테고리의 다른 글
[Unreal Engine 일반] 언리얼 프로퍼티(Property) 시스템(리플렉션, reflection) (0) | 2023.05.11 |
---|
댓글