(Unreal : 입문) 7. 애니메이션 기초

Posted by : at

Category : Unreal-entry


애니메이션 관련 처리를 할 Anim Instance를 만들어보자
C++클래스로 아래와 같이 AnimInstance를 상속받으면 된다.

UCLASS()
class TESTUNREALENGINE_API UMyAnimInstance : public UAnimInstance
{
	GENERATED_BODY()

	virtual void NativeUpdateAnimation(float DeltaSeconds) override;
	
private:
    // 멈춰있다가 뛰어가면 애니메이션을 넣어볼 예정
    // speed정보가 필요하다
	UPROPERTY(EditAnywhere, BlueprintReadOnly, Category=Pawn, Meta=(AllowPrivateAccess=true))
	float Speed;
};

여기까지하고 UMyAnimInstance와 연결시킬 블루프린트를 생성해보자

다시 현재 사용중인 Default Pawn의 블루프린트 애니메이션을 위에서 생성한 블루프린트로 지정하자

속도값이 0보다 클경우 작을경우 확인 후 상태에 따라 Anim지정

이제 Speed값을 움직임에 따라 연결만하면 된다.

void UMyAnimInstance::NativeUpdateAnimation(float DeltaSeconds)
{
	Super::NativeUpdateAnimation(DeltaSeconds);

	auto pawn = TryGetPawnOwner();
	if (IsValid(pawn))
	{
		Speed = pawn->GetVelocity().Size();
	}
}

About Taehyung Kim

안녕하세요? 8년차 현업 C++ 개발자 김태형이라고 합니다. 😁 C/C++을 사랑하며 다양한 사람과의 협업을 즐깁니다. ☕ 꾸준한 자기개발을 미덕이라 생각하며 노력중이며, 제가 얻은 지식을 홈페이지에 정리 중입니다. 좀 더 상세한 제 이력서 혹은 Private 프로젝트 접근 권한을 원하신다면 메일주세요. 😎

Star
Useful Links