본문 바로가기
[ CODING STUDY ]/》언리얼엔진5 실습

언리얼엔진5 c++ Animation(move, jump)

by MRG 2024. 4. 17.
728x90
반응형

 

 

▣ Add C++ Class에서 All Classes를 선택해서 Animinstance를 생성합니다.

 

 

▣ Animation Blueprint를 생성하고 밑에 Parent Class에서 아까 생성한 Animinstance를 선택하고 생성합니다.

 

 

▣ 플레이어 C++코드로 들어가서 SetAnimInstanceClass를 지정해야 합니다.

FClassFinder를 이용해서 Class를 가져오는데 애니메이션블루프린트 경로를 먼저 복사해서 그대로 붙여 넣고

 

 

▣ 위에 있는 경로처럼 필요한 경로만 넣어주시고 Class를 가져오기 때문에 맨 끝에 _C를 추가하고 저장합니다.

 

 

▣ 컴파일 후 Player블루프린트에서  Animation 메뉴에 Anim Class를 확인하면 애니메이션 블루프린트 클래스가 추가된 걸 확인할 수 있습니다. 

 

 

 

▣ Animinstance C++ 코드에. h에 필요한 변수, 함수, 클래스를 선언합니다. 

 

▣ NativeInitializeAnimation() : 애니메이션이 생성되면 호출되는 함수

▣ NativeUpdateAnimation(float DeltaSeconds) : 프레임마다 호출하는 함수

 

https://dev.epicgames.com/documentation/en-us/unreal-engine/API/Runtime/Engine/Animation/UAnimInstance/NativeInitializeAnimation?application_version=5.3

 

UAnimInstance::NativeInitializeAnimation

The below functions are the native overrides for each phase Native initialization override point

dev.epicgames.com

 

https://dev.epicgames.com/documentation/en-us/unreal-engine/API/Runtime/Engine/Animation/UAnimInstance/NativeUpdateAnimation?application_version=5.3

 

UAnimInstance::NativeUpdateAnimation

Native update override point.

dev.epicgames.com

 

 

 

▣. cpp코드에 함수들을 정의하고 캐스팅 및 필요한 값들을 접근하는 코드까지 완성합니다. 

 

▣ Size2D 이 벡터의 2D 구성요소의 길이를 가져옵니다.

 

▣ GetOwningActor : 이 AnimInstance의 소유 액터를 반환합니다.

 

https://docs.unrealengine.com/4.26/en-US/API/Runtime/Engine/Animation/UAnimInstance/GetOwningActor/

 

UAnimInstance::GetOwningActor

Returns the owning actor of this AnimInstance

docs.unrealengine.com

 

https://docs.unrealengine.com/4.26/en-US/API/Runtime/Core/Math/FVector/Size2D/

 

FVector::Size2D

Get the length of the 2D components of this vector.

docs.unrealengine.com

 

 

▣ 컴파일 후 애니메이션 블루프린트로와서 메뉴에 톱니바퀴를 눌러 Show Inherited Variables를 추가하고 상속된 변수들을 볼 수 있게 합니다.

 

 

▣ 그리고 스테이트 머신 상태마다 각각 필요한 조건에 맞게 변수를 적용하고 컴파일합니다. 

 

 

▣ 플레이를 하면 정상적으로 코드가 작동되는 걸 확인할 수 있습니다. 

728x90
반응형

댓글