목차
- Cascade와 Niagara
- Cascade 시스템의 Particle 생성하기
1. Cascade와 Niagara
언리얼 엔진 비주얼 이펙트에는 Cascade와 Niagara 방식이 있다.
Cascade | Niagara |
고전적 시스템 | 새로운 시스템 |
다양한 에셋들이 존재 | Cascade 보다 상대적으로 적은 에셋 |
사용자 친화적 | |
UGameplayStatics 라이브러리를 이용 - Spawn Cascade Emitters |
UNiagaraFuncionLibrary를 이용 - Spawn Niagara Systems |
비주얼 효과를 직접 만들 필요까지는 없지만 이것들을 어떻게 사용하고 생성해야 할지는 알아야 할 필요가 있다.
먼저 Cascade 시스템을 생성하는 방법에 대해 알아보자.
2. Cascade 시스템의 Particle 생성하기
캐릭터나 에너미가 타격을 받으면 블러드 파티클을 생성할 것이다. 파티클을 생성하기 위해서 먼저 파티클 에셋이 필요할 것이다. 파티클을 가져오자.
언리얼 엔진 샘플 프로젝트에 존재하는 Shooter Game에서 가져온 파티클이다. 이름을 보면 Cascade 파티클인 것을 알 수 있다.
이제 이 파티클을 타격시 생성하면 된다. C++에서 이 작업을 해보자.
파티클의 타입은 UParticleSystem 이다. 타입을 알았으니 헤더파일에서 이를 선언하자.
// 에너미.h
UPROPERTY(EditAnywhere, Category = "VisualEffects")
UParticleSystem* HitParticles;
이제 이것을 히트 시 생성하면 된다.
if (HitParticles && GetWorld())
{
UGameplayStatics::SpawnEmitterAtLocation(GetWorld(), HitParticles, ImpactPoint);
}
세번째 매개변수의 경우 오버라이드 된 함수중 Location을 받는 부분을 이용하였으며 나머지는 기본값이 있어서 그대로 두었다.
이제 이를 컴파일하고 재생되는지 확인하자. 물론 테스트하기 전에 에너미 블루프린트에서 히트 파티클을 설정하는 것을 잊으면 안 된다.
타격지점(흰색 디버그 스피어)에 정확히 파티클이 생성되는 것을 볼 수 있다.