반응형
#include "NiagaraComponent.h"
#include "NiagaraFunctionLibrary.h"
#include "NiagaraDataInterfaceArrayFunctionLibrary.h"
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = WeaponVars)
UNiagaraSystem* TracerNS;
NiagaraSystem 선언 후 블루 프린트에서 NiagaraSystem 선택
UNiagaraComponent* tempTracer =
UNiagaraFunctionLibrary::SpawnSystemAttached(
TracerNS, weaponMeshComp, TEXT("Muzzle"),
FVector(0, 0, 0), FRotator(0, 0, 0),
EAttachLocation::KeepWorldPosition, true);
NiagaraComponent 생성
NiagaraSystem의 User parameter 세팅
tempTracer->SetNiagaraVariableBool(FString("User.Trigger"), true);
bool Parameter
TArray<FVector> TraceImpactPosArr;
TraceImpactPosArr.Add(pHitResult.bBlockingHit ? pHitResult.ImpactPoint : pHitResult.TraceEnd);
// Array Vector는 Niagara Data Interface 함수를 사용함
UNiagaraDataInterfaceArrayFunctionLibrary::
SetNiagaraArrayVector(tempTracer, TEXT("User.ImpactPositions"), TraceImpactPosArr);
Array Parameter
tempTracer->SetNiagaraVariablePosition(
FString("User.MuzzlePostion"), weaponMeshComp->GetSocketLocation("Muzzle"));
Position Parameter
반응형
LIST
'UE5' 카테고리의 다른 글
UE 블렌드 포즈 (0) | 2023.04.25 |
---|---|
UE C++ LineTraceSingle (0) | 2023.04.18 |
UE Blueprint와 C++을 이용한 Foot IK (0) | 2023.04.08 |
UE C++ 함수를 블루프린트에서 오버라이드 (0) | 2023.03.30 |
UE C++ Component를 블루프린트에서 추가하는 법 (0) | 2023.03.29 |