Niagara와 Material 부분으로 나뉘며 둘 다 있어야 제대로 작동하므로 둘 다 중요하다
블루프린트란 코드를 작성하는 대신 그래프의 노드와 핀을 사용한다. 나이아가라도 이와 비슷한다

블루프린트와 마찬가지로 나이아가라도 VFX가 어떻게 작동해야 할지 프로그래밍해야 한다.
다만 그래프 패러다임이 아니라 스택 패러다임을 사용한다. 둘의 장점을 이야기해보자면
블루프린트의 그래프 패러다임을 사용하면 사용자가 더 쉽게 흐름을 제어할 수 있고 나이아가라의 스택 패러다임을 사용하면 모듈성과 가독성이 좋아진다.
나이아가라는 모듈이라는 것을 사용한다. 위 사진에 있는 텍스트가 모두 모듈이며 나이아가라에서는 이 모듈을 사용해 코드를 작성한다. 모듈을 서로 겹쳐서 스택을 쌓는 것이다. 각 모듈에서는 파티클이 어떻게 작동할지 프로그래밍하기 위한 코드가 들어있다.
나이아가라를 작업할 때 어떤 모듈을 사용해야 할까? 이것은 블루프린트에서 어떤 노드를 사용해야 할지 묻는 질문과 같은 질문이다. 나이아가라도 먼저 다양한 모듈에 대해 알아보는 것으로 시작한다
나이아가라는 파티클의 움직임을 정의하거나 파티클 형상이나 색상을 변경할 수 있다. 반면 머테리얼은 VFX가 표시되는 모습을 결정한다
나이아가라용 머티리얼을 만들 때는 다른 용도의 머티리얼을 만들 때와 동일하게 두가지가 필요하다
첫번재는 텍스쳐이고 두번째는 이 텍스쳐가 어떻게 표시될지 정의하는 로직을 만들어야 한다.
VFX 머티리얼은 일반적으로 언리얼에서 사용하는 물리기반 렌더링 머티리얼과는 조금 다르다.
나이아가라 시스템은 월드에 배치하거나 스폰할 수 있는 이미터 컨테이너이다. 중요한 점은 시스템 자체가 파티클인게 아니라 나이아가라 이미터가 파티클을 스폰하며 나이아가라 시스템에 원하는 개수의 이미터를 넣을 수 있다는 것이다. 나이아이미터는 단순히 파티클을 생성하고 제어한다

나이아가라 이미터를 추가해주었다. 정말 처음 보는 구조의 화면이다.

나이아가라이미터는 기본적으로 모든게 위에서 부터 아래로 실행된다.
윗부분은 잠시 뒤에 알아보고 render을 알아보자. 어떤 VFX를 만들던 먼저 렌더 부분을 설정해야한다. 올바른 렌더러가 있어야 한다, 우리가 만들 VFX에서는 크게 3가지의 렌데러를 사용할 예정이다. 스프라이트 렌더러, 메시 렌더러, 리본 렌더러이다. 먼저 스프라이트가 뭘까?
스프라이트는 단순히 2D 카메라가 보는 평면이다. 이 평면은 언제나 카메라를 향하고 있다.

스프라이트 렌더러를 선택하면 오른쪽에 옵션 창이 뜨게된다. 지금은 다소 복잡해 보이지만 천천히 알아가보자 아직은 어떠한 설정도 하지 않아서 뷰포트 상에 배치할 수도 없고 볼 수도 없다.
파티클을 추가하려면 어떤 스테이지들이 있는지 이해해야 한다.
남은 스테이지들은 크게 둘로 나눌 수 있는데 Emitter stage와 Particle stage이다.
Emitter spawn은 언리얼 언어로 beginplay()와 비슷하고 Update는 Event Tick과 비슷하다.
beginplay()와 tick에서 가장 중요한 것은 할당된 코드가 얼마나 자주 실행되는지가 중요하다.
beginplay에 할당된 코드는 한 번만 실행되고 Event tick에 할당된 코드는 매프레임 마다 실행된다는 점이 가장 중요하다 이는 스폰과 업데이트에서도 중요하다.
모듈이 얼마나 자주 실행되는지 알아야 하기 때문에 중요하다
이미터가 시작되는 스테이지이며 여기서는 보통 많은 작업을 하지 않는다. 몇 가지 속성을 설정할 필요가 있을 수도 있지만 보통 이 스테이지에는 모듈을 별로 넣지 않는다.
이것은 이미터의 tick이라고 생각하면 된다. 이 스테이지에는 많은 것을 넣을 수 있는데 가장 중요하는 것은 생성하는 파티클이다. 따라서 이 스테이지에서 가장 중요한 것은 이미터가 스폰하는 파티클 수를 지정하는 것이다. 이 스테이지에 넣는 모듈에 따라 스폰되는 파티클이 달라진다.
파티클의 beginplay이다. 이 스테이지에서는 이미터가 스폰한 각 파티클을 제어할 수 있다. 초기 크기, 위치 ,색상을 설정할 수 있다. 파티클이 사라질 때까지 걸리는 시간도 중요하다.
그런 다음 모든 정보가 파티클 업데이트로 넘어간다.
파티클의 tick이다. 파티클의 크기, 위치, 색상, 수명 등이 결정된 다음파티클의 움직임을 제어한다. movement/scaling/fading 등을 조절한다.

이미터 업데이트에서 Spawn Burst Instantaneous를 선택하면 오류가 발생하는 데 모듈의 종속성 때문이다. 이것은 fix를 누르면 Emitter state(system)이 추가된 것을 볼 수 있다.

파티클 스폰에서 initialize particle을 선택하면 오른쪽에서 초기 수명, 색상 등을 설정할 수 있다.

마지막인 Particle update에서 scale color을 설정해주고 scale alpha에서 float from curve를 설정해주니 표시되던 공이 사라지는 것을 볼 수 있다.
간단히 만든 나이이아가라 이미터를 배치하기 위해서는 나이아가라시스템을 사용해야 한다.

간단히 오른쪽 버튼으로 만들어 주면 이렇게 배치할 수 있다!!