Reverted back to Unreal 5.4

Added curves into RFoot Stop Cycle for both walk and run.
Implemented stop cycle foot based.
This commit is contained in:
LongLy 2025-07-25 11:59:13 +07:00
parent 2d97bf84b2
commit a6755cf61c
15 changed files with 47 additions and 18 deletions

17
.vsconfig Normal file
View File

@ -0,0 +1,17 @@
{
"version": "1.0",
"components": [
"Component.Unreal.Debugger",
"Component.Unreal.Ide",
"Microsoft.Net.Component.4.6.2.TargetingPack",
"Microsoft.VisualStudio.Component.VC.14.38.17.8.ATL",
"Microsoft.VisualStudio.Component.VC.14.38.17.8.x86.x64",
"Microsoft.VisualStudio.Component.VC.Llvm.Clang",
"Microsoft.VisualStudio.Component.VC.Tools.x86.x64",
"Microsoft.VisualStudio.Component.Windows11SDK.22621",
"Microsoft.VisualStudio.Workload.CoreEditor",
"Microsoft.VisualStudio.Workload.ManagedDesktop",
"Microsoft.VisualStudio.Workload.NativeDesktop",
"Microsoft.VisualStudio.Workload.NativeGame"
]
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 50 KiB

After

Width:  |  Height:  |  Size: 52 KiB

View File

@ -180,18 +180,16 @@ UAnimSequence* UOLSBaseLinkedLayerAnimInstance::SelectPivotAnimation(const bool
const EOLSGait gait, const EOLSGait gait,
const EOLSCardinalDirection velocityDirection, const EOLSCardinalDirection velocityDirection,
const EOLSHipDirection hipDirection, const EOLSHipDirection hipDirection,
const float angle, const float angle) const
float& outPivotTime) const
{ {
if (isAiming) if (isAiming)
{ {
outPivotTime = 0.2f;
return GetGaitAnimSets(isCrouching, gait).GaitAnimSet_CameraFacing.GetPivotFromHipDirection(hipDirection). return GetGaitAnimSets(isCrouching, gait).GaitAnimSet_CameraFacing.GetPivotFromHipDirection(hipDirection).
GetMovementAnimationByCardinalDirection(velocityDirection); GetMovementAnimationByCardinalDirection(velocityDirection);
} }
return GetGaitAnimSets(isCrouching, gait).GaitAnimSet_ForwardFacing.Pivot.GetLeftOrRightByAngle( return GetGaitAnimSets(isCrouching, gait).GaitAnimSet_ForwardFacing.Pivot.GetLeftOrRightByAngle(
angle, bIsLeftFootPlanted, bIsRightFootPlanted, outPivotTime); angle, bIsLeftFootPlanted, bIsRightFootPlanted);
} }
UAnimSequence* UOLSBaseLinkedLayerAnimInstance::SelectStopCycleAnimation(const bool isCrouching, UAnimSequence* UOLSBaseLinkedLayerAnimInstance::SelectStopCycleAnimation(const bool isCrouching,
@ -207,7 +205,7 @@ UAnimSequence* UOLSBaseLinkedLayerAnimInstance::SelectStopCycleAnimation(const b
GetMovementAnimationByCardinalDirection(velocityDirection); GetMovementAnimationByCardinalDirection(velocityDirection);
} }
return GetGaitAnimSets(isCrouching, gait).GaitAnimSet_ForwardFacing.StopCycle; return GetGaitAnimSets(isCrouching, gait).GaitAnimSet_ForwardFacing.StopCycle.GetLeftOrRightAnim(bIsRightFootPlanted);
} }
FVector2D UOLSBaseLinkedLayerAnimInstance::SelectPlayRateByLocomotionState( FVector2D UOLSBaseLinkedLayerAnimInstance::SelectPlayRateByLocomotionState(

View File

@ -130,14 +130,18 @@ void FOLSMovementAnimSets_ForwardFacing_Pivot::GetLeftOrRightAnimSet(const bool
} }
} }
UAnimSequence* FOLSMovementAnimSets_ForwardFacing_StopCycle::GetLeftOrRightAnim(const bool isRightFootPlanted) const
{
return (isRightFootPlanted ? StopCycle_RightFoot : StopCycle_LeftFoot);
}
class UAnimSequence* FOLSMovementAnimSets_ForwardFacing_Pivot::GetLeftOrRightByAngle(const float angle, class UAnimSequence* FOLSMovementAnimSets_ForwardFacing_Pivot::GetLeftOrRightByAngle(const float angle,
const bool isLeftFootPlanted, const bool isRightFootPlanted, float& outPivotTime) const const bool isLeftFootPlanted,
const bool isRightFootPlanted) const
{ {
FOLSMovementAnimSet_ForwardFacing_Pivot animSet; FOLSMovementAnimSet_ForwardFacing_Pivot animSet;
GetLeftOrRightAnimSet(isLeftFootPlanted, isRightFootPlanted, animSet); GetLeftOrRightAnimSet(isLeftFootPlanted, isRightFootPlanted, animSet);
outPivotTime = PivotTime;
return (angle > 0.f) ? animSet.Pivot180R : animSet.Pivot180L; return (angle > 0.f) ? animSet.Pivot180R : animSet.Pivot180L;
} }

View File

@ -82,8 +82,7 @@ protected:
const EOLSGait gait, const EOLSGait gait,
const EOLSCardinalDirection velocityDirection, const EOLSCardinalDirection velocityDirection,
const EOLSHipDirection hipDirection, const EOLSHipDirection hipDirection,
const float angle, const float angle) const;
float& outPivotTime) const;
UFUNCTION(BlueprintCallable, meta = (BlueprintThreadSafe), Category = "ThreadSafe|Selectors") UFUNCTION(BlueprintCallable, meta = (BlueprintThreadSafe), Category = "ThreadSafe|Selectors")
class UAnimSequence* SelectStopCycleAnimation(const bool isCrouching, class UAnimSequence* SelectStopCycleAnimation(const bool isCrouching,
@ -225,9 +224,6 @@ protected:
UPROPERTY(BlueprintReadWrite, Category = "ThreadSafe|Pivots") UPROPERTY(BlueprintReadWrite, Category = "ThreadSafe|Pivots")
float TimeAtPivotStop = 0.f; float TimeAtPivotStop = 0.f;
UPROPERTY(BlueprintReadWrite, Category = "ThreadSafe|Pivots")
float PivotTime = 0.f;
protected: protected:

View File

@ -209,8 +209,7 @@ public:
class UAnimSequence* GetLeftOrRightByAngle(const float angle, class UAnimSequence* GetLeftOrRightByAngle(const float angle,
const bool isLeftFootPlanted, const bool isLeftFootPlanted,
const bool isRightFootPlanted, const bool isRightFootPlanted) const;
float& outPivotTime) const;
public: public:
@ -219,9 +218,24 @@ public:
UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Movement Pivot Anim Set") UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Movement Pivot Anim Set")
FOLSMovementAnimSet_ForwardFacing_Pivot Pivot_RightFoot; FOLSMovementAnimSet_ForwardFacing_Pivot Pivot_RightFoot;
};
USTRUCT(BlueprintType)
struct FOLSMovementAnimSets_ForwardFacing_StopCycle
{
GENERATED_BODY()
public:
class UAnimSequence* GetLeftOrRightAnim(const bool isRightFootPlanted) const;
public:
UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Movement Pivot Anim Set") UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Movement Pivot Anim Set")
float PivotTime = 0.0f; TObjectPtr<class UAnimSequence> StopCycle_LeftFoot;
UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Movement Pivot Anim Set")
TObjectPtr<class UAnimSequence> StopCycle_RightFoot;
}; };
USTRUCT(BlueprintType) USTRUCT(BlueprintType)
@ -272,7 +286,7 @@ public:
FOLSMovementAnimSets_ForwardFacing_Pivot Pivot; FOLSMovementAnimSets_ForwardFacing_Pivot Pivot;
UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Gait Anim Set") UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Gait Anim Set")
TObjectPtr<class UAnimSequence> StopCycle = nullptr; FOLSMovementAnimSets_ForwardFacing_StopCycle StopCycle;
}; };
USTRUCT(BlueprintType) USTRUCT(BlueprintType)

View File

@ -1,6 +1,6 @@
{ {
"FileVersion": 3, "FileVersion": 3,
"EngineAssociation": "5.5", "EngineAssociation": "5.6",
"Category": "", "Category": "",
"Description": "", "Description": "",
"Modules": [ "Modules": [