AnimInstance
개요
애니메이션 블루프린트를 위한 커스텀 AnimInstance 구성 크게 속도, 방향, 가속중인 상태인지에 대한 정보 확인
변수
UPROPERTY(VisibleDefaultsOnly, BlueprintReadOnly, Category = "AnimData|LocomotionData")
float GroundSpeed;
UPROPERTY(VisibleDefaultsOnly, BlueprintReadOnly, Category = "AnimData|LocomotionData")
bool bHasAcceleration;
UPROPERTY(VisibleDefaultsOnly, BlueprintReadOnly, Category = "AnimData|LocomotionData")
float LocomotionDirection;
값 설정
NativeInitializeAnimation
NativeThreadSafeUpdateAnimation
함수를 통해, 초기에 AnimInstance의 Owner Actor에 대한 정보를 설정 후, Tick당 변화내용 확인
OwningCharacter = Cast<AKKCharacterBase>(TryGetPawnOwner());
if (OwningCharacter)
{
OwningMovementComponent = OwningCharacter->GetCharacterMovement();
}
GroundSpeed = OwningCharacter->GetVelocity().Size2D();
bHasAcceleration = OwningMovementComponent->GetCurrentAcceleration().SizeSquared2D() > 0.f;
LocomotionDirection = UKismetAnimationLibrary::CalculateDirection(OwningCharacter->GetVelocity(),
OwningCharacter->GetActorRotation());
Last modified: 07 December 2024