본문 바로가기
[ Unreal5 ]/- 언리얼엔진5 실습

언리얼엔진5 c++ SpawnSystemAtLocation(표면에 Effect효과주기)

by MRG 2024. 11. 10.
728x90
반응형

 

▣ 코드설명

- PointDamageEvent: DamageEvent를 FPointDamageEvent로 변환하여, 지점 충돌에 대한 정보를 가져옵니다.

 

- HitBone: 충돌된 부위의 본 이름입니다. 피격 부위에 따라 효과나 데미지를 달리할 수 있습니다.

 

- ImpactPoint: 충돌한 위치를 나타내는 벡터입니다.

 

- ImpactNormal: 충돌 지점의 표면 노멀 벡터로, 이 벡터를 사용하여 FX의 방향을 표면에 맞춰 설정할 수 있습니다.

 

▣ ImpactNormal은 충돌한 표면의 방향을 나타내는 벡터입니다.

이 벡터는 표면에 수직한 방향을 의미하며, 표면의 "바깥쪽"을 가리키는 방향이라고 이해할 수 있습니다.


예를 들어 설명해보겠습니다:
벽에 총알이 맞을 때:
벽 표면이 오른쪽을 향해 있다면, ImpactNormal 벡터도 오른쪽을 가리킵니다.
ImpactNormal 벡터는 벽의 표면에서 수직으로 바깥쪽으로 나오는 방향입니다.
지면에 떨어지는 경우:
만약 총알이 지면에 맞았다면, ImpactNormal은 위쪽을 가리키게 됩니다. 이 방향은 지면에서 수직으로 위쪽으로 나오는 방향을 나타냅니다.
Zombie의 몸체에 맞을 때:
총알이 Zombie의 머리에 맞았다면, ImpactNormal은 머리 표면에서 수직으로 나오는 방향입니다. 만약 뒷머리에 맞았다면 뒤쪽을, 이마에 맞았다면 앞쪽을 가리킵니다.

 

- ShotDirection: 총알의 발사 방향을 나타내며, 피격 후 효과나 반응을 설정하는 데 사용할 수 있습니다.

 

 

 

▣ 코드설명

- HitFXArray: 여러 개의 피격 FX 중 하나를 랜덤으로 선택하여 재생합니다.

 

- RandomIndex: FMath::RandRange를 사용해 FX 배열에서 임의로 인덱스를 선택합니다. 다양한 효과를 제공하기 위해 랜덤으로 FX를 선택합니다.

 

- ImpactNormal.Rotation(): ImpactNormal을 회전값(FRotator)으로 변환하여, FX가 표면의 방향에 맞게 재생되도록 합니다.

 

- UNiagaraFunctionLibrary::SpawnSystemAtLocation: Niagara FX를 지정 위치와 회전으로 재생합니다. 여기서 ImpactPoint와 Rotation을 사용하여 FX가 정확한 위치와 방향에서 재생됩니다.

 

▣ UNiagaraFunctionLibrary::SpawnSystemAtLocation은 Niagara FX(비주얼 이펙트)를 지정된 위치에서 재생할 때 사용하는 Unreal Engine 함수입니다. 이 함수는 월드 내 특정 위치에서 Niagara 시스템을 생성하고 재생하도록 합니다. Niagara FX가 스폰되는 위치, 방향, 크기 등을 설정할 수 있으며, 주로 폭발, 파티클, 불꽃, 피격 효과 등의 비주얼 효과를 구현하는 데 사용됩니다.

 

 

 

▣ API

 

https://docs.unrealengine.com/5.0/en-US/API/Runtime/Core/Math/FMath/RandRange/

 

https://docs.unrealengine.com/5.0/en-US/API/Runtime/Engine/Engine/FPointDamageEvent/

 

728x90
반응형

댓글