1. 개요
- 목표: 돌 가시 함정이 작동할 때 흙먼지 파티클을 순간적으로 뿜어내는 나이아가라 효과 구현
2. 나이아가라 시스템 생성
- Niagara System 생성
- 에디터에서 Add Niagara System → Template from an emitter(s) 선택
- 기본 제공템플릿 중 Simple Smoke 또는 Basic Dust 계열 선택 → NS_StoneDust로 이름 지정
- Auto Activate 해제
- System Settings → Activation 섹션에서 Auto Activate 체크 해제
- 블루프린트에서 Activate() 호출 시에만 파티클 재생
3. 이미터 & 파라미터 조정
- Spawn Rate / Count
- Spawn Burst Instantaneous 모듈로 순간적으로 많은 파티클 방출
- Life Cycle
- Lifetime 짧게 설정 (1–2초)
- 시간이 지날수록 Size, Color/Alpha 감소하도록 그래프 조절
- Forces
- Gravity (중력) 및 Drag 추가하여 자연스러운 낙하감 부여
- Renderer
- 부드럽고 반투명한 흙먼지 머티리얼 지정
- Velocity
- 파티클이 뭉쳐 보이지 않도록 초기 속도 조절
4. 함정 블루프린트 설정
- BP_StoneTrap 액터 생성
- 부모 클래스: Actor → 이름 지정
- Niagara Component 추가
- Components 패널 → Add Component → Niagara Particle System
- Details → Niagara System 항목에 NS_StoneDust 지정
- Auto Activate 해제 확인
- 위치 & 회전 조정
- 데칼이 나올 위치에 맞춰 컴포넌트 Transform 설정
5. 트리거 함수 구현
- ActivateDustEffect 함수 생성
- My Blueprint → Add Function → ActivateDustEffect
- 함수 내부: Niagara 컴포넌트 → Activate(New Active=true, Reset=true) 노드 연결
- Overlap 이벤트
- OnComponentBeginOverlap → Other Actor → Cast To BP_StoneTrap 성공 시 ActivateDustEffect 호출
- (선택) SpawnSystemAtLocation 사용 시 함수에 Location 파라미터 추가
6. 문제 & 해결
문제 | 원인 | 해결 방법 |
파티클이 즉시 보이지 않음 | Auto Activate가 켜져 있어 블루프린트 호출 안 됨 | Auto Activate 해제 후 Activate()로 제어 |
파티클이 한곳에 뭉쳐 보임 | 초기 Velocity 미설정 | Velocity 값 증가 |
재호출 시 파티클 이어서 재생됨 | Reset 옵션 비활성화 | Activate(..., Reset=true) 설정 |
7. 배운 점 정리
- Auto Activate를 꺼야 필요할 때만 파티클 제어 가능
- Reset 옵션으로 재호출 시 이펙트를 깔끔하게 초기화
- Emitter 파라미터(Velocity, Lifetime, Color/Size) 조합이 핵심
- Blueprint 함수 분리로 재사용성↑, 가독성↑
'Dev. > 그래픽스 Graphics' 카테고리의 다른 글
X-RAY 머티리얼 구현(스텐실 버퍼 활용) (0) | 2025.05.20 |
---|---|
용암 & 화염 방사 함정 점화 VFX (0) | 2025.05.19 |
발자국 구현 (0) | 2025.05.18 |
벽 너머 캐릭터 보기: 오클루전 마스크 쉐이더 (0) | 2025.05.08 |
X-Ray 비전 효과 구현: 포스트 프로세스와 커스텀 뎁스 스텐실 버퍼 (0) | 2025.05.07 |