



SpawnProjectile() 노드가 중요하다. 여기서 스폰될 발사체와 속도, 지속 시간등을 설정해준다.
BP_Boss_Projectile의 SpawnProjectile()로 스폰되는 발사체. 맨 위 GIF에서 과일 메시가 이것이다. Niagara Particle System Component를 가지고 있으며, 여기에 등록된 나이아가라 시스템이 실제 플레이에서 보이는 것이다.
HitProjectile()로 소멸 이펙트를 가진 나이아가라 시스템(깨진 과일)을 스폰한다.
Spawn Burst Instantaneous - 파티클 단 하나만 0.0초에 생성한다.
Initialize Particle - Lifetime 만 10초로 설정한다. 플레이어나 벽에 맞지 않고 맵 밖으로 나가도 소멸할 수 있도록. -> 이 부분은 어차피 SpawnProjectile()에서 시간이 지나면 나이아가라 컴포넌트가 달려있는 액터 자체를 소멸시키기 때문에 적당히 길게 해도 무방하다.Add Rotational Velocity - 최초 스폰시 회전값을 설정. Random Range Vector를 이용해 약한 수준으로 무작위 회전을 걸어준다.
Add Rotational Velocity모듈의 위치에 주의해야 한다.
Particle Spawn
- 해당 모듈은 파티클 스폰시 한 번만 작용Particle Update
- 아래처럼 매 프레임 작용
Mesh Renderer - 과일 메시의 핵심. 스프라이트가 아닌 스태틱 메시도 파티클로 사용할 수 있게 된다.

NS_Boss_Fruit01에 Generate Collision Event를 추가해서 처리하려고 했는데, 로직상 명중시 액터 자체가 소멸하기 때문에 분리했다.Spawn Burst Instantaneous - 발사체와 다르게 2~4개 무작위로 생성
Add Velocity in Cone - 명중 시 과일이 박살나는 반작용 표현을 위해 원뿔 모양으로 가해지는 힘 추가
Add Rotational Velocity - 최초 스폰시 회전값을 설정. 발사체와 동일.Gravity Force - 박살난 파편이 아래로 떨어지도록 중력 적용
발사 -> 적중 시 파편 생성은 완료되었으나 아직 해야할 일이 있다.
Mesh Renderer에서 할당한 메시만 다르다.
BP_Boss_FruitProjectile의 BeginPlay()에서 무작위 정수를 생성해 저장한다
SetRandomProjectile()은 실행되면 생성된 난수에 따라 나이아가라 컴포넌트에 할당된 나이아가라 시스템을 변경하는 함수(이벤트)이다. SetNiagaraSystemAsset() 노드를 뽑아 순서대로 NS_Boss_Fruit01부터 NS_Boss_Fruit05까지 연결해준다.
SpawnSystemAtLocation()을 사용했다. HitLocation에 그 위치가 저장되는데, 이를 활용하기 위함.