[DAY112] SoulslikeProject(15) - UE5 Niagara: Monster Hit FX

베리투스·2026년 3월 10일

TIL: Today I Learned

목록 보기
91/93

✅ 오늘 한 일 (Done)

  • Niagara 피격 FX 적용: 몬스터 피격 시 애니메이션만 재생되던 밋밋한 타격감을 개선하기 위해 BloodBurst 등의 Niagara 이펙트 추가.
  • 재사용 가능한 FX 구조 설계: MonsterBase 클래스에 HitFX (Niagara System) 변수를 노출시켜, 코드 수정 없이 에디터에서 몬스터별(악마, 해골 등)로 다른 피격 이펙트를 설정할 수 있도록 데이터 기반으로 구축.
  • 피격 부위 추적 스폰: Spawn System Attached 노드를 사용하여 피격된 부위(Hit Bone)의 위치에서 이펙트가 터지도록 구현.

💣 트러블 슈팅 (Issue & Fix)

  • 문제: 피격 이펙트를 공통 로직으로 넣었더니, 피를 흘리면 안 되는 '해골 몬스터'를 때려도 출혈 이펙트가 발생함. 반대로 이펙트를 비워두면 Null 참조 에러가 발생할 위험이 있었음.
  • 원인: 모든 몬스터가 동일한 하드코딩된 이펙트 에셋을 강제로 실행하도록 구성되어 있었음.
  • 해결:
    1. FX 시스템 변수를 몬스터마다 개별 할당 가능하도록 분리.
    2. 피격 처리 로직 직전에 IsValid (HitFX) 분기를 추가하여, 할당된 이펙트가 있을 때만 Spawn 되도록 안전 장치 마련 (해골 몬스터는 HitFX를 None으로 설정하여 자연스럽게 무시됨).

💡 핵심 로직 (Key Logic - Blueprint)

1. FX Spawn Flow

  • Take DamagePlay Hit MontageIsValid (HitFX)?
    • TrueSpawn System Attached

2. Spawn System Attached Settings

  • System Template: HitFX (몬스터별 설정 변수)
  • Attach Component: Mesh (몬스터 메쉬)
  • Attach Point Name: Hit Bone (데미지가 들어온 뼈 위치)
  • Location Type: Snap to Target (타겟 위치에 정확히 맞춤)
profile
Shin Ji Yong // Unreal Engine 5 공부중입니다~

0개의 댓글