Payback 0.0.1
CK Graduation Project
로딩중...
검색중...
일치하는것 없음
PlayerAnimInstance.h
이 파일의 문서화 페이지로 가기
1// Fill out your copyright notice in the Description page of Project Settings.
2
3#pragma once
4
5#include "CoreMinimal.h"
7#include "Curves/CurveFloat.h"
8#include "PlayerAnimInstance.generated.h"
9
10
14UCLASS()
16{
17 GENERATED_BODY()
18
19public:
21
22protected:
23 virtual void NativeInitializeAnimation() override;
24
25 virtual void NativeBeginPlay() override;
26 virtual void NativeUpdateAnimation(float DeltaSeconds) override;
27 virtual void TryBindTagEvent() override;
28 virtual void TryRemoveTagEvent() override;
29 virtual bool UpdateAnimation(float DeltaSeconds, float CurrentSpdOverride, float TargetSpdOverride) override;
30
31 void CachePlayerMovement();
32 void OnAttackIdleTagChanged(const FGameplayTag Tag, int32 NewCount);
33
34 float CalculateLocomotionBlendValue(float CurrentMovementSpeed, float RunSpeed) const;
35 float EvaluateLocomotionBlendRatioCurve(float NormalizedSpeedRatio) const;
36 float CalculateAnimPlayRate(float CurrentMovementSpeed, float RunSpeed) const;
37 float EvaluateAnimSpeedRatioCurve(float NormalizedSpeedRatio) const;
38
39protected:
41 UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "Movement|Speed")
42 FRuntimeFloatCurve AnimSpeedRatioCurvePerLocomotionSpeedRatio;
43
44 UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = "Movement|Speed")
45 float LocoAnimPlayRate = 1.0f;
46
48 UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "Movement|Speed")
49 FRuntimeFloatCurve LocomotionBlendRatioCurve;
50
51 UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = "Movement")
52 bool bIsAttackIdle = false;
53
54 UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = "Movement")
55 float LeanAngle = 0.0f;
56
57protected:
58 FDelegateHandle AttackIdleTagEventHandle;
59
60private:
61 UPROPERTY(Transient)
62 TObjectPtr<UPlayerMovementComponent> CachedPlayerMovement;
63};
Definition CharacterAnimInstance.h:19
Definition PlayerAnimInstance.h:16