나이아가라 시스템은 이펙트 빌드에 필요한 모든 요소가 담긴 컨테이너다 시스템에서 다양한 빌딩 블록을 쌓아 전체적인
이펙트를 만들 수 있다
이미터 스폰(Emitter Spawn) : 이미터가 CPU에서 처음 생성 될 때 사용하여 초기 구성 및 디폴트 값을 정의한다
이미터 업데이트(Emitter Update) : CPU의 모든 프레임에서 발생하는 이미터 단계의 모듈을 정의한다 이걸 사용하여 모든 프레임에서 계속 스폰할 파티클의 스폰을 정의한다
파티클 스폰(Particle Spwan) : 파티클이 처음 생성 될 때 파티클당 한 번씩 호출된다, 파티클의 생성 위치, 색, 크기 와 같은 파티클의 초기화 디테일을 정의한다
파티클 업데이트(Particle Update) : 각 프레임에서 파티클마다 호출된다, 파티클의 수명에 따라 프레임별로 변경해야 하는 사항을 정의한다, 시간에 따른 파티클의 색 변화와 중력, 컬 노이즈, 포인트 어트랙션 등의 힘이 파티클에 미치는 영향을 예로 들 수 있다, 시간에 따라 파티클의 크기가 변하게 할 수도 있다
렌더(Render) : 파티클의 디스플레이를 정의하고, 파티클에 하나 이상의 렌더러를 설정할 수 있다, 머티리얼을 적용할 수 있는 파티클의 기반으로서 3D 모델을 정의할 경우, 메시 렌더러를 사용하는 것 이 좋다, 스프라이트 렌더러를 사용하고 파티클을 2D스프라이트로 정의할 수도 있다
2. 모듈
모듈(Modules)은 Niagara 효과의 기본 구성 요소이다 그룹에 모듈을 추가여 스택을 만들고, 위에서 아래로 순차적으로 처리된다 Module은 계산을 하기 위한 컨테이너이다 Module에 데이터를 전달하고 Module 내부에서 데이터를 계산한 다음 Module의 끝에 데이터를 다시 기록한다
Module은 HLSL을 사용하여 빌드 되지만 노드를 사용하여 그래프에서 시각적으로 빌드할 수 있다.
3. 파라미터 및 파라미터 타입
파라미터는 나이아가라 시뮬레이션 데이터의 추상 표현이다. 파라밑 타입은 파라미터에 할당되어 파라미터가 표현하는 데이터를 정의한다
+ 아이콘을 클릭하고 직접 신규 또는 기존 파라미터 설정을 선택하여 이미터에 커스텀 파라미터 모듈을 추가해줄 수도 있다
프리미티브(Primitive) : 이 파라미터 타입은 각기 다른 정밀도와 채널 폭의 숫자 데이터를 정의한다
열거형(Enum) : 이 파라미터 타입은 명명된 값의 고정된 조합을 정의하고, 명명된 값 중 하나를 가정한다
구조체(Struct) : 이 파라미터 타입은 프리미티브와 열거형 타입의 결합된 조합을 정의한다
데이터 인터페이스(Data Interfaces) : 이 파라미터 타입은 외부 데이터 소스로부터 데이터를 제공하는 함수를 정의한다