Niagara stack reading guide

이미터 스택은 컨텍스트와 실행 빈도로 읽는다

같은 모듈처럼 보여도 실행되는 시점이 다르다. Emitter는 생성과 틱 단위 설정을 맡고, Particle은 생성 시 초기값과 살아있는 동안의 프레임별 변화를 맡으며, Render는 계산된 결과를 화면에 표시한다.

상위 맥락

System Spawn / Update

시스템 기준

여러 이미터를 함께 다루는 파라미터와 전체 효과의 입력을 관리한다.

Emitter

Emitter Spawn

이미터 생성 시 1회

이미터가 만들어질 때 필요한 초기 상태를 잡는다. 지속 생성량보다 초기 설정에 가깝다.

Emitter

Emitter Update

이미터 틱마다

Emitter State와 생성 방식이 이 구간에서 파티클 발생 조건을 만든다.

Particle

Particle Spawn

파티클마다 1회

Initialize Particle에서 수명, 초기 색, 크기, 속도 같은 출발값을 정한다.

Particle

Particle Update

살아있는 동안 매 프레임

힘, 색, 크기 변화를 누적하고 보통 후반에 Solve Forces and Velocity로 위치를 계산한다.

Output

Render

표시 방식

Sprite, Mesh, Ribbon, Light Renderer 등으로 시뮬레이션 결과를 화면에 그린다.

Emitter State

루프 지속 시간, inactive response, 리셋 조건처럼 이미터의 생명 주기와 작동 상태를 정한다.

Spawn Rate / Burst

Rate는 지속 생성, Burst Instantaneous는 지정 순간의 묶음 생성이다. 파티클 수명과는 별도 축이다.

Initialize Particle

파티클이 태어날 때 한 번 정해지는 값이다. 이후 색과 크기 변화는 Particle Update 쪽에서 다룬다.

Renderer

생성과 운동을 고치는 곳이 아니라 출력 방식을 고르는 곳이다. 보이지 않으면 머티리얼과 바운드도 함께 본다.

문제가 보일 때 먼저 볼 위치

  • 아무것도 안 나오면 Emitter 활성 상태와 Spawn Rate/Burst를 본다.
  • 시작 모양이 틀리면 Initialize Particle과 초기 랜덤값을 본다.
  • 움직임이 틀리면 Particle Update의 힘, 속도, Solve 위치를 본다.
  • 모양만 틀리면 Renderer, 머티리얼, 정렬 방식을 본다.

층위를 섞지 않기

Spawn, Update, Render는 같은 목록에 보여도 책임이 다르다. 생성량을 바꿀 때 Renderer를 만지거나, 수명 값을 Particle Update에서 찾으면 원인 추적이 늦어진다.