Before_VFXProblem.gif

초기 구조

새로 발생한 문제

image.png

문제

Niagara 에서 Socket 을 사용한 대신 현재 위치부터 (현재 위치+검의 길이)만큼 더한 위치까지 이펙트가 출력되도록 설계하였습니다.

하지만 Trail용 Custom Anim Notify State에서 검 궤적보다 한참 뒷자리에 생성되는 문제가 발생했습니다.

트러블 슈팅

  1. TrailComp 자체 생성 실패

    UE_LOG 를 통해 TailComp 존재 여부 체크했습니다.

    결과

    정상적으로 출력되는 것을 보아 TrailComp 생성 문제는 아니었습니다.

  2. Start Position, WeaponLength 전달 실패 혹은 잘못된 값 계산

  3. 잘못된 축 계산

    Weapon Length 만큼 더한 값을 x 혹은 y 축으로 이동시킴

    image.png

    결과

    image.png

해결 방법

image.png

Sword Mesh 자체의 Component 위치 문제

다운로드 받은 리소스 그대로 사용하여 검이 Y축 기준 -90도 만큼 돌아가 있음

→ SpawnSystemAttached() 당시 Sword Mesh 에 붙어 계산되도록 설정해놨기 때문에

UpVector 가 Y축으로 바뀌면서 WeaponLength 만큼 오른쪽에서 이펙트가 실행됨

TrailComp = UNiagaraFunctionLibrary::SpawnSystemAttached(
	TrailSystem,
	**CombatInterface->GetTraceStart(),**
	NAME_None,
	FVector::ZeroVector,
	FRotator::ZeroRotator,
	EAttachLocation::SnapToTarget,
	true
);

Unreal Engine 의 Modeling 모드를 이용하여 Sword Mesh 의 Up Vector 가 Z 축이 되도록 Bake Transform

image.png

이후 Socket, Trace Start, Trace End 위치 조정

결과

검 궤적을 따라 제대로 Trail 형성

After_VFXProblem.gif