Gameplay Reaction Router

이벤트 종류마다 전달 방식과 비용 리스크를 다르게 본다

체력, 바람, 파괴, 영역 진입, 완료 이벤트는 모두 Niagara를 바꾸지만 적합한 라우팅 방식은 다르다. 값이 계속 변하는지, 한 번만 필요한지, 부모 트랜스폼을 따라야 하는지를 먼저 본다.

Health Changed

현재 체력 / 최대 체력

방식

`Set Niagara Variable Float`

결과

색상, 스폰율, 크기 변화

리스크

Tick 대신 OnHealthChanged 우선

Wind Volume

방향과 세기

방식

Vector/Float 또는 Parameter Collection

결과

Add Force 방향과 강도 변경

리스크

전역 값과 개별 값을 섞지 않기

Object Destroyed

파괴 위치와 충격량

방식

`Spawn System at Location`

결과

`NS_Debris` Burst와 파편량 조절

리스크

반복 파괴물은 Pooling 고려

Area Overlap

BeginOverlap / EndOverlap

방식

Activate / Deactivate

결과

안개, 독가스, 지역 버프 표시

리스크

이탈 시 자연 소멸 시간 확인

Tick

마지막 선택지

매 프레임 변화가 화면에 필요한 값만 Tick에 둔다.

Interface

필요한 데이터만 읽기

많은 본이나 메시 표면 샘플링은 비용을 먼저 확인한다.

Attach

따라가야 할 때만

일회성 효과는 At Location, 부모 움직임이 필요하면 Attached를 쓴다.