1. 개요
- 목표:
- 플레이어가 용암 발판 위에 진입·이탈할 때, 발밑에서 용암 불기둥(Flame Jet) 이펙트를 자동으로 켜고 끄기
2. Niagara 이펙트 준비
- Niagara System 생성
- 에디터에서 Add → Niagara Particle System
- 기존 용암·화염 방사 이펙트(Template) 선택 후 NS_LavaBurst 등 이름 지정
- Auto Activate 해제
- Details → System Settings → Activation → Auto Activate 체크 해제
- 파라미터 튜닝
- Spawn Burst: 순간 다수 파티클
- Lifetime: 0.5–1.0초 (짧고 강렬하게)
- Velocity: 위쪽으로 강한 초기 속도
- Color/Size: 용암 느낌의 붉은빛·스파크 텍스처 적용
3. BP_Merci 컴포넌트 설정
- Niagara 컴포넌트 추가
- BP_Merci 열기 → Components 패널 → + Niagara Particle System
- System Asset 에 NS_LavaBurst 지정
- Auto Activate 해제
- Attach 설정
- Attach To: Mesh
- Socket Name: foot_l (왼발), 동일하게 foot_r 추가
- Location/Rotation: Snap to Target
- 변수 추가
- bIsInLava (Boolean, Default = false) — 중복 활성화 방지 플래그
4. Overlap 이벤트 그래프
Event OnComponentBeginOverlap(CapsuleComponent)
→ Cast To BP_LavaTrap_2m
→ Branch (bIsInLava == false)
├ True:
│ ├ Set bIsInLava = true
│ └ FeetLavaFX ActivateSystem()
└ False: (Do Nothing)
Event OnComponentEndOverlap(CapsuleComponent)
→ Cast To BP_LavaTrap_2m
→ Branch (bIsInLava == true)
├ True:
│ ├ Set bIsInLava = false
│ └ FeetLavaFX DeactivateSystem()
└ False: (Do Nothing)
- ActivateSystem() / DeactivateSystem() 노드를 사용해 이펙트 시작·종료를 제어
5. 문제 & 해결
문제 | 원인 | 해결 방법 |
이펙트가 계속 켜져 있음 | bIsInLava 플래그 초기값 관리 누락 | BeginOverlap 조건에 bIsInLava==false 추가 |
이펙트가 재진입 시 두 번 발동됨 | Auto Activate 가 켜져 있어 중복 호출됨 | Auto Activate 해제, ActivateSystem()로만 제어 |
이펙트가 완전히 꺼지지 않음 | Deactivate 호출 시 Reset 옵션 미사용 | DeactivateSystem(Reset=true) 로 파티클 초기화 |
6. 배운 점 정리
- Auto Activate 해제 후 Blueprint로 켜고 끄는 패턴이 재사용성·제어 측면에서 간편하다.
- Boolean 플래그(bIsInLava) 로 중복 호출을 방지해야 의도치 않은 반복 이펙트를 막을 수 있다.
- Activate/Deactivate 시 Reset 옵션을 고려해야 이전 파티클 잔상이 남지 않는다.
'Dev. > 그래픽스 Graphics' 카테고리의 다른 글
돌 함정 나이아가라 효과 (0) | 2025.05.18 |
---|---|
발자국 구현 (0) | 2025.05.18 |
벽 너머 캐릭터 보기: 오클루전 마스크 쉐이더 (0) | 2025.05.08 |
X-Ray 비전 효과 구현: 포스트 프로세스와 커스텀 뎁스 스텐실 버퍼 (0) | 2025.05.07 |
그래픽스 파이프라인과 셰이더 문서 정리 (0) | 2025.04.07 |