개요
언리얼 엔진 5.4에는 나이아가라 경량형 이미터(Lightweight Emitter) 가 도입됩니다. 이러한 이미터는 스테이트리스 이미터(Stateless Emitter) 라고도 하며 시뮬레이션 중 틱 사용을 최소화하거나 경우에 따라서는 완전히 제거하도록 최적화되어 있습니다.
또한, 경량형 이미터는 컴파일하지 않아도 되므로 워크플로가 더 빨라지고 시스템에 있는 이미터의 양이 퍼포먼스에 미치는 영향이 감소합니다. 즉, 대부분의 경우 스테이트리스 이미터가 기존의 스테이트풀 이미터보다 퍼포먼스가 상당히 뛰어납니다.
시스템 개요(System Overview) 창 안을 우클릭하고 메뉴에서 스테이트리스 이미터 추가(Add stateless emitter) 를 선택하여 나이아가라 시스템 내부에 스테이트리스 이미터를 추가할 수 있습니다. 나이아가라 시스템에서는 두 가지 타입의 이미터가 동시에 작동할 수 있지만, 순수한 스테이트리스 시스템이 퍼포먼스가 가장 뛰어납니다.
퍼포먼스 향상 및 개발 시간 단축
스테이트리스 이미터를 도입한 주요 동기는 나이아가라의 메모리 및 CPU 비용을 줄이고 VFX 아티스트의 개발 시간을 단축하기 위해서였습니다.
스테이트리스 이미터는 다음을 통해 이러한 목표를 달성합니다.
- 나이아가라 시스템이 완전히 스테이트리스인 경우 게임 스레드 틱 비용 감소
- 스테이트리스 이미터당 동시 틱 비용 감소
- 나이아가라 시스템이 완전히 스테이트리스인 경우 렌더 스레드 비용 감소
- 메모리에 스크립트 또는 파티클 정보가 없으므로 메모리 비용 감소
- 이미터 수 및 파티클 인스턴스 수 로 인한 퍼포먼스 영향 제거
- 컴파일 필요성 감소 또는 경우에 따라 컴파일 필요 없음
스테이트리스 이미터 제한 사항
퍼포먼스 향상을 위해 스테이트리스 이미터는 고정 함수이며 다음과 같은 모듈에만 액세스할 수 있습니다.
- 가속 힘(Acceleration Force)
- 속도 추가(Add Velocity)
- 컬 노이즈(Curl Noise)/노이즈 벡터 필드(Noise Vector Field)
- 드래그(Drag)
- 중력 힘(Gravity Force)
- 파티클 초기화(Initialize Particle)
- 초기 메시 오리엔테이션(Initial Mesh Orientation)
- 포인트 중심 회전(Rotate Around Point)
- 스케일 컬러(Scale Color)
- 메시 크기 스케일(Scale Mesh Size)
- 속도 기준 메시 크기 스케일(Scale Sprite Size by Speed)
- 스프라이트 크기 스케일(Scale Sprite Size)
- 속도 기준 스프라이트 크기 스케일(Scale Sprite Size by Speed)
- 셰이프 로케이션(Shape Location)
- 속도 및 힘 해석(Solve Forces and Velocity)
- 스프라이트 회전 속도(Sprite Rotation Rate)
- 서브 UV 애니메이션(Sub UV Animation)
사용할 수 있는 각 모듈에 대한 세팅을 조정할 수 있지만, 커스텀 모듈, 스크래치 패드를 생성하거나 다이내믹 입력을 사용할 수는 없습니다. 현재 기능 세트는 C++을 통해 확장할 수 있으며, 나이아가라 시스템 내에서 스테이트리스 이미터를 스테이트풀로, 또는 그 반대로 변환할 수 있습니다.