Dynamic Parameter Contract

BP 값은 User Parameter 계약으로 넘기고 Niagara는 소비 위치를 나눈다

Blueprint는 게임 상태를 읽고 효과 단위로 변환한다. Niagara는 전달된 이름과 타입을 기준으로 Spawn 또는 Update 단계에서만 값을 사용한다.

값은 출처, 계약, 소비 위치를 분리해 추적한다

Blueprint 게임 상태 읽기

속도, 체력, 타격 위치처럼 시스템 밖에서 나온 원본 값이다.

Parameter 효과 단위로 변환

Map Range나 Curve로 범위를 줄인 뒤 이름과 타입을 고정한다.

Niagara Spawn/Update에서 소비

새 파티클의 초기값인지, 살아있는 동안의 변화인지 나눠 쓴다.

Emitter / Spawn

태어나는 순간에만 결정되는 값

  • 초기 크기생성 시점의 DustScale을 기록한다.
  • 초기 속도발사 방향과 시작 힘을 정한다.
  • 스폰율새 파티클을 얼마나 만들지 결정한다.
Particle Update

살아있는 동안 계속 반영되는 값

  • 색 변화체력, 온도, 상태에 따라 색을 바꾼다.
  • 스케일 변화속도 변화가 효과 크기에 이어진다.
  • 위치 보정타겟이나 월드 좌표를 매 프레임 읽는다.

업데이트 기준은 호출 빈도와 책임 위치로 결정한다

판단 항목 Blueprint에서 확인할 것 Niagara에서 확인할 것
이름과 타입 Set Niagara Variable 이름이 User Parameter와 일치한다. 모듈 입력이 같은 타입으로 연결되어 있다.
호출 빈도 매 Tick 전달이 꼭 필요한 값인지 먼저 줄인다. 스폰율, 시뮬레이션 비용, 렌더 비용을 따로 본다.
공간 기준 월드 좌표인지 액터 기준 좌표인지 명확히 보낸다. Local Space와 World Space 선택을 효과 의도에 맞춘다.

핵심: User Parameter는 임시 변수 저장소가 아니라 Blueprint와 Niagara 사이의 계약이다. 계약을 좁게 만들수록 디버깅할 위치가 명확해진다.