언리얼 5

230901

슬뷔 2023. 9. 1. 11:35

AnimInstance_Base 클래스 생성 

 

CDO 

 

 

블루프린트로 구현한 것을 다시 C++ 로 구현한 애니메이션

속력 체크
조건 체크
LcalSpace 상의 속도 구하기
땅에 있는지 아닌지 체크

void UAnimInstance_Base::NativeUpdateAnimation(float _fDeltaTime)
{
	// 속도가져와서 속력값 구하기
	if (!IsValid(Character) || !IsValid(Movement))
		return;

	// 속력 체크
	MoveSpeed = Movement->Velocity.Size2D();

	// 조건 체크
	if (0.f < MoveSpeed && Movement->GetCurrentAcceleration().IsZero())
	{
		IsMove = true;
	}
	else
		IsMove = false;

	// 캐릭터의 월드회전의 역행렬을 속도 벡터에 적용시켜서 Local Space 상의 속도를 구한다
	FRotator Rot = Character->GetRootComponent()->GetRelativeRotation();
	LocalVelocity = Rot.UnrotateVector(Movement->Velocity);

	// 땅에 있는지 공중에 떠있는지 체크
	IsFall = Movement->IsFalling();

}

 

동영상 첨부