Blueprint Event
캐릭터 이동 값, 타격 이벤트, 거리 같은 게임 상태를 읽는다.
Dynamic parameter contract
원본 속도, 매핑된 스케일, Niagara 내부 모듈 입력을 같은 이름으로 섞으면 튜닝 기준이 흔들린다. Blueprint는 필요한 값을 계산해 User Parameter에 전달하고, Niagara는 Spawn과 Update 단계에서 그 값을 소비한다.
캐릭터 이동 값, 타격 이벤트, 거리 같은 게임 상태를 읽는다.
원본 값을 화면 효과 단위로 줄이고 범위를 고정한다.
Blueprint가 정확한 이름과 타입으로 User Parameter를 갱신한다.
모듈은 같은 값을 읽되 Spawn과 Update 책임을 분리한다.
초기 크기, 초기 속도, 스폰율처럼 새 파티클 생성 조건에 쓴다.
색, 스케일, 위치 오프셋처럼 매 프레임 변할 수 있는 상태에 쓴다.
속도, 체력, 타겟 위치처럼 게임 로직에서 나온 원본 값을 가져온다.
Map Range Clamped, Curve, 보간으로 화면에 쓸 범위로 줄인다.
이름과 타입이 정확한 Set Niagara Variable 노드를 사용한다.
생성량은 Emitter/Spawn, 살아있는 파티클 변화는 Particle Update 책임으로 둔다.
Local/World Space, 호출 빈도, 시뮬레이션, 렌더링 비용을 따로 확인한다.
프레임마다 화면 반응이 필요한 값에만 쓴다. 값이 변하지 않으면 전달을 생략하거나 상한을 둔다.
OnHit, OnTakeDamage처럼 상태가 바뀐 순간만 필요하면 이벤트 전달이 더 명확하다.
일정 간격으로 충분한 값에 사용한다. Timer는 비동기 처리가 아니라 게임 스레드의 예약 실행으로 이해한다.
액터, 메시, 본 정보처럼 Niagara가 직접 참조할 데이터에 유리할 수 있지만 샘플링 비용과 제약을 확인한다.