Refactored Forward Facing animation data.
Reverted back to UE5.6 -> UE5.5.
This commit is contained in:
parent
501111ec24
commit
29d0870443
@ -1,12 +1,10 @@
|
|||||||
{
|
{
|
||||||
"version": "1.0",
|
"version": "1.0",
|
||||||
"components": [
|
"components": [
|
||||||
"Component.Unreal.Debugger",
|
|
||||||
"Component.Unreal.Ide",
|
|
||||||
"Microsoft.Net.Component.4.6.2.TargetingPack",
|
"Microsoft.Net.Component.4.6.2.TargetingPack",
|
||||||
|
"Microsoft.VisualStudio.Component.Unreal.Workspace",
|
||||||
"Microsoft.VisualStudio.Component.VC.14.38.17.8.ATL",
|
"Microsoft.VisualStudio.Component.VC.14.38.17.8.ATL",
|
||||||
"Microsoft.VisualStudio.Component.VC.14.38.17.8.x86.x64",
|
"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.VC.Tools.x86.x64",
|
||||||
"Microsoft.VisualStudio.Component.Windows11SDK.22621",
|
"Microsoft.VisualStudio.Component.Windows11SDK.22621",
|
||||||
"Microsoft.VisualStudio.Workload.CoreEditor",
|
"Microsoft.VisualStudio.Workload.CoreEditor",
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
Before Width: | Height: | Size: 54 KiB After Width: | Height: | Size: 53 KiB |
@ -60,20 +60,15 @@ void UOLSBaseLinkedLayerAnimInstance::NativeThreadSafeUpdateSkeletonControlData(
|
|||||||
OrientationWarpingAlpha = GetCurveValue(EnableOrientationWarpingName);
|
OrientationWarpingAlpha = GetCurveValue(EnableOrientationWarpingName);
|
||||||
|
|
||||||
bIsLeftFootFarFromTarget = UKismetAnimationLibrary::K2_DistanceBetweenTwoSocketsAndMapRange(
|
bIsLeftFootFarFromTarget = UKismetAnimationLibrary::K2_DistanceBetweenTwoSocketsAndMapRange(
|
||||||
GetOwningComponent(), IKFootLeft, RTS_World,
|
GetOwningComponent(), FeetPositionSettings.IKFootLeft, RTS_World,
|
||||||
IKTargetFootLeft, RTS_World, false,
|
FeetPositionSettings.IKTargetFootLeft, RTS_World, false,
|
||||||
0.f, 0.f, 0.f, 0.f) > 8.0f;
|
0.f, 0.f, 0.f, 0.f) > 8.0f;
|
||||||
|
|
||||||
bIsRightFootFarFromTarget = UKismetAnimationLibrary::K2_DistanceBetweenTwoSocketsAndMapRange(
|
bIsRightFootFarFromTarget = UKismetAnimationLibrary::K2_DistanceBetweenTwoSocketsAndMapRange(
|
||||||
GetOwningComponent(), IKFootRight, RTS_World,
|
GetOwningComponent(), FeetPositionSettings.IKFootRight, RTS_World,
|
||||||
IKTargetFootRight, RTS_World, false,
|
FeetPositionSettings.IKTargetFootRight, RTS_World, false,
|
||||||
0.f, 0.f, 0.f, 0.f) > 8.0f;
|
0.f, 0.f, 0.f, 0.f) > 8.0f;
|
||||||
|
|
||||||
|
|
||||||
// const float feetPositionValue = GetCurveValue(FeetPositionCurveName);
|
|
||||||
// bIsRightFootPlanted = feetPositionValue > 0.5f;
|
|
||||||
// bIsLeftFootPlanted = FMath::Abs(feetPositionValue) > 0.5f;
|
|
||||||
|
|
||||||
// If neither foot is planted, use the last valid foot
|
// If neither foot is planted, use the last valid foot
|
||||||
if (!bIsRightFootFarFromTarget && !bIsLeftFootFarFromTarget)
|
if (!bIsRightFootFarFromTarget && !bIsLeftFootFarFromTarget)
|
||||||
{
|
{
|
||||||
@ -164,7 +159,8 @@ UAnimSequence* UOLSBaseLinkedLayerAnimInstance::SelectStartCycleAnimation(const
|
|||||||
if (isAiming)
|
if (isAiming)
|
||||||
{
|
{
|
||||||
return GetGaitAnimSets(isCrouching, gait).GaitAnimSet_CameraFacing.GetStartCycleFromHipDirection(hipDirection).
|
return GetGaitAnimSets(isCrouching, gait).GaitAnimSet_CameraFacing.GetStartCycleFromHipDirection(hipDirection).
|
||||||
GetMovementAnimationByCardinalDirection(velocityDirection);
|
GetMovementAnimByCardinalDirection(
|
||||||
|
velocityDirection, bIsRightFootFarFromTarget);
|
||||||
}
|
}
|
||||||
|
|
||||||
return GetGaitAnimSets(isCrouching, gait).GaitAnimSet_ForwardFacing.StartCycle.
|
return GetGaitAnimSets(isCrouching, gait).GaitAnimSet_ForwardFacing.StartCycle.
|
||||||
@ -181,7 +177,8 @@ UAnimSequence* UOLSBaseLinkedLayerAnimInstance::SelectCycleAnimation(const bool
|
|||||||
if (isAiming)
|
if (isAiming)
|
||||||
{
|
{
|
||||||
return GetGaitAnimSets(isCrouching, gait).GaitAnimSet_CameraFacing.GetCycleFromHipDirection(hipDirection).
|
return GetGaitAnimSets(isCrouching, gait).GaitAnimSet_CameraFacing.GetCycleFromHipDirection(hipDirection).
|
||||||
GetMovementAnimationByCardinalDirection(velocityDirection);
|
GetMovementAnimByCardinalDirection(
|
||||||
|
velocityDirection, bIsRightFootFarFromTarget);
|
||||||
}
|
}
|
||||||
|
|
||||||
return GetGaitAnimSets(isCrouching, gait).GaitAnimSet_ForwardFacing.Cycle;
|
return GetGaitAnimSets(isCrouching, gait).GaitAnimSet_ForwardFacing.Cycle;
|
||||||
@ -197,11 +194,12 @@ UAnimSequence* UOLSBaseLinkedLayerAnimInstance::SelectPivotAnimation(const bool
|
|||||||
if (isAiming)
|
if (isAiming)
|
||||||
{
|
{
|
||||||
return GetGaitAnimSets(isCrouching, gait).GaitAnimSet_CameraFacing.GetPivotFromHipDirection(hipDirection).
|
return GetGaitAnimSets(isCrouching, gait).GaitAnimSet_CameraFacing.GetPivotFromHipDirection(hipDirection).
|
||||||
GetMovementAnimationByCardinalDirection(velocityDirection);
|
GetMovementAnimByCardinalDirection(
|
||||||
|
velocityDirection, bIsRightFootFarFromTarget);
|
||||||
}
|
}
|
||||||
|
|
||||||
return GetGaitAnimSets(isCrouching, gait).GaitAnimSet_ForwardFacing.Pivot.GetLeftOrRightByAngle(
|
return GetGaitAnimSets(isCrouching, gait).GaitAnimSet_ForwardFacing.Pivot.GetLeftOrRightByAngle(
|
||||||
angle, bIsLeftFootFarFromTarget, bIsRightFootFarFromTarget);
|
angle, bIsRightFootFarFromTarget);
|
||||||
}
|
}
|
||||||
|
|
||||||
UAnimSequence* UOLSBaseLinkedLayerAnimInstance::SelectStopCycleAnimation(const bool isCrouching,
|
UAnimSequence* UOLSBaseLinkedLayerAnimInstance::SelectStopCycleAnimation(const bool isCrouching,
|
||||||
@ -213,8 +211,8 @@ UAnimSequence* UOLSBaseLinkedLayerAnimInstance::SelectStopCycleAnimation(const b
|
|||||||
if (isAiming)
|
if (isAiming)
|
||||||
{
|
{
|
||||||
return GetGaitAnimSets(isCrouching, gait).
|
return GetGaitAnimSets(isCrouching, gait).
|
||||||
GaitAnimSet_CameraFacing.GetStopCycleFromHipDirection(hipDirection).
|
GaitAnimSet_CameraFacing.GetStopCycleFromHipDirection(hipDirection).GetMovementAnimByCardinalDirection(
|
||||||
GetMovementAnimationByCardinalDirection(velocityDirection);
|
velocityDirection, bIsRightFootFarFromTarget);
|
||||||
}
|
}
|
||||||
|
|
||||||
return GetGaitAnimSets(isCrouching, gait).GaitAnimSet_ForwardFacing.StopCycle.GetLeftOrRightAnim(bIsRightFootFarFromTarget);
|
return GetGaitAnimSets(isCrouching, gait).GaitAnimSet_ForwardFacing.StopCycle.GetLeftOrRightAnim(bIsRightFootFarFromTarget);
|
||||||
|
|||||||
@ -60,54 +60,36 @@ bool FOLSIdleAndTurnInPlaceAnimSet::CanPlayIdleBreakAnimation() const
|
|||||||
return IdleAnimSet.HasAnyIdleBreaks();
|
return IdleAnimSet.HasAnyIdleBreaks();
|
||||||
}
|
}
|
||||||
|
|
||||||
UAnimSequence* FOLSMovementAnimSet::GetMovementAnimationByCardinalDirection(const EOLSCardinalDirection& direction) const
|
class UAnimSequence* FOLSMovementAnimSet_FeetPosition::GetForwardLeftOrRightFoot(const bool isRightFootFarFromTarget) const
|
||||||
{
|
{
|
||||||
TObjectPtr<UAnimSequence> result = nullptr;
|
return (isRightFootFarFromTarget ? RightFoot : LeftFoot);
|
||||||
switch (direction)
|
|
||||||
{
|
|
||||||
case EOLSCardinalDirection::EForward:
|
|
||||||
result = Forward;
|
|
||||||
break;
|
|
||||||
case EOLSCardinalDirection::EBackward:
|
|
||||||
result = Backward;
|
|
||||||
break;
|
|
||||||
case EOLSCardinalDirection::ERight:
|
|
||||||
result = Right;
|
|
||||||
break;
|
|
||||||
case EOLSCardinalDirection::ELeft:
|
|
||||||
result = Left;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
return result;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
class UAnimSequence* FOLSMovementAnimSet_ForwardFacing_StartCycle::GetForwardLeftOrRightFootByAngle(
|
class UAnimSequence* FOLSMovementAnimSet_ForwardFacing_StartCycle::GetForwardLeftOrRightFoot(const bool isRightFootFarFromTarget) const
|
||||||
const bool isRightFootFront) const
|
|
||||||
{
|
{
|
||||||
return (isRightFootFront) ? Forward_R : Forward_L;
|
return Forward.GetForwardLeftOrRightFoot(isRightFootFarFromTarget);
|
||||||
}
|
}
|
||||||
|
|
||||||
UAnimSequence* FOLSMovementAnimSet_ForwardFacing_StartCycle::GetForward180LeftOrRightByAngle(const float angle) const
|
UAnimSequence* FOLSMovementAnimSet_ForwardFacing_StartCycle::GetForward180LeftOrRightByAngle(const float angle) const
|
||||||
{
|
{
|
||||||
return (angle > 0.f) ? Forward180_R : Forward180_L;
|
return (angle > 0.f) ? Forward180R : Forward180L;
|
||||||
}
|
}
|
||||||
|
|
||||||
class UAnimSequence* FOLSMovementAnimSet_ForwardFacing_StartCycle::GetMovementAnimationByAngle(
|
class UAnimSequence* FOLSMovementAnimSet_ForwardFacing_StartCycle::GetMovementAnimationByAngle(
|
||||||
const EOLSCardinalDirection direction, const float angle, const bool isRightFootFront) const
|
const EOLSCardinalDirection direction, const float angle, const bool isRightFootFarFromTarget) const
|
||||||
{
|
{
|
||||||
TObjectPtr<UAnimSequence> result = nullptr;
|
TObjectPtr<UAnimSequence> result = nullptr;
|
||||||
|
|
||||||
switch (direction)
|
switch (direction)
|
||||||
{
|
{
|
||||||
case EOLSCardinalDirection::EForward:
|
case EOLSCardinalDirection::EForward:
|
||||||
result = GetForwardLeftOrRightFootByAngle(isRightFootFront);
|
result = GetForwardLeftOrRightFoot(isRightFootFarFromTarget);
|
||||||
break;
|
break;
|
||||||
case EOLSCardinalDirection::ELeft:
|
case EOLSCardinalDirection::ELeft:
|
||||||
result = Left;
|
result = Forward90L;
|
||||||
break;
|
break;
|
||||||
case EOLSCardinalDirection::ERight:
|
case EOLSCardinalDirection::ERight:
|
||||||
result = Right;
|
result = Forward90R;
|
||||||
break;
|
break;
|
||||||
case EOLSCardinalDirection::EBackward:
|
case EOLSCardinalDirection::EBackward:
|
||||||
result = GetForward180LeftOrRightByAngle(angle);
|
result = GetForward180LeftOrRightByAngle(angle);
|
||||||
@ -117,32 +99,17 @@ class UAnimSequence* FOLSMovementAnimSet_ForwardFacing_StartCycle::GetMovementAn
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
void FOLSMovementAnimSets_ForwardFacing_Pivot::GetLeftOrRightAnimSet(const bool isLeftFootPlanted,
|
class UAnimSequence* FOLSMovementAnimSet_ForwardFacing_Pivot::GetLeftOrRightByAngle(const float angle,
|
||||||
const bool isRightFootPlanted, FOLSMovementAnimSet_ForwardFacing_Pivot& outAnimSet) const
|
const bool isRightFootFarFromTarget) const
|
||||||
{
|
{
|
||||||
if (isLeftFootPlanted)
|
return (angle > 0.f
|
||||||
{
|
? Pivot180R.GetForwardLeftOrRightFoot(isRightFootFarFromTarget)
|
||||||
outAnimSet = Pivot_LeftFoot;
|
: Pivot180L.GetForwardLeftOrRightFoot(isRightFootFarFromTarget));
|
||||||
}
|
|
||||||
else if (isRightFootPlanted)
|
|
||||||
{
|
|
||||||
outAnimSet = Pivot_RightFoot;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
UAnimSequence* FOLSMovementAnimSets_ForwardFacing_StopCycle::GetLeftOrRightAnim(const bool isRightFootPlanted) const
|
UAnimSequence* FOLSMovementAnimSet_ForwardFacing_StopCycle::GetLeftOrRightAnim(const bool isRightFootPlanted) const
|
||||||
{
|
{
|
||||||
return (isRightFootPlanted ? StopCycle_RightFoot : StopCycle_LeftFoot);
|
return Stop.GetForwardLeftOrRightFoot(isRightFootPlanted);
|
||||||
}
|
|
||||||
|
|
||||||
class UAnimSequence* FOLSMovementAnimSets_ForwardFacing_Pivot::GetLeftOrRightByAngle(const float angle,
|
|
||||||
const bool isLeftFootPlanted,
|
|
||||||
const bool isRightFootPlanted) const
|
|
||||||
{
|
|
||||||
FOLSMovementAnimSet_ForwardFacing_Pivot animSet;
|
|
||||||
GetLeftOrRightAnimSet(isLeftFootPlanted, isRightFootPlanted, animSet);
|
|
||||||
|
|
||||||
return (angle > 0.f) ? animSet.Pivot180R : animSet.Pivot180L;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void FOLSGaitAnimSet::GetPlayRateByLocomotionState(const EOLSLocomotionStatePlayRate& state, FVector2D& outPlayRate) const
|
void FOLSGaitAnimSet::GetPlayRateByLocomotionState(const EOLSLocomotionStatePlayRate& state, FVector2D& outPlayRate) const
|
||||||
@ -161,22 +128,51 @@ void FOLSGaitAnimSet::GetPlayRateByLocomotionState(const EOLSLocomotionStatePlay
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const FOLSMovementAnimSet& FOLSGaitAnimSet_CameraFacing::GetStartCycleFromHipDirection(const EOLSHipDirection hipDirection) const
|
void FOLSMovementAnimSet_CameraFacing_Directional::GetMovementAnimSetByCardinalDirection(const EOLSCardinalDirection& direction,
|
||||||
|
FOLSMovementAnimSet_FeetPosition& outAnimSet) const
|
||||||
|
{
|
||||||
|
switch (direction)
|
||||||
|
{
|
||||||
|
case EOLSCardinalDirection::EForward:
|
||||||
|
outAnimSet = Forward;
|
||||||
|
break;
|
||||||
|
case EOLSCardinalDirection::EBackward:
|
||||||
|
outAnimSet = Backward;
|
||||||
|
break;
|
||||||
|
case EOLSCardinalDirection::ERight:
|
||||||
|
outAnimSet = Right;
|
||||||
|
break;
|
||||||
|
case EOLSCardinalDirection::ELeft:
|
||||||
|
outAnimSet = Left;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
UAnimSequence* FOLSMovementAnimSet_CameraFacing_Directional::GetMovementAnimByCardinalDirection(const EOLSCardinalDirection& direction,
|
||||||
|
const bool isRightFootFarFromTarget) const
|
||||||
|
{
|
||||||
|
FOLSMovementAnimSet_FeetPosition animSet;
|
||||||
|
GetMovementAnimSetByCardinalDirection(direction, animSet);
|
||||||
|
|
||||||
|
return animSet.GetForwardLeftOrRightFoot(isRightFootFarFromTarget);
|
||||||
|
}
|
||||||
|
|
||||||
|
const FOLSMovementAnimSet_CameraFacing_Directional& FOLSGaitAnimSet_CameraFacing::GetStartCycleFromHipDirection(const EOLSHipDirection hipDirection) const
|
||||||
{
|
{
|
||||||
return (hipDirection == EOLSHipDirection::EForward) ? StartCycle_HipForward : StartCycle_HipBackward;
|
return (hipDirection == EOLSHipDirection::EForward) ? StartCycle_HipForward : StartCycle_HipBackward;
|
||||||
}
|
}
|
||||||
|
|
||||||
const FOLSMovementAnimSet& FOLSGaitAnimSet_CameraFacing::GetCycleFromHipDirection(const EOLSHipDirection hipDirection) const
|
const FOLSMovementAnimSet_CameraFacing_Directional& FOLSGaitAnimSet_CameraFacing::GetCycleFromHipDirection(const EOLSHipDirection hipDirection) const
|
||||||
{
|
{
|
||||||
return (hipDirection == EOLSHipDirection::EForward) ? Cycle_HipForward : Cycle_HipBackward;
|
return (hipDirection == EOLSHipDirection::EForward) ? Cycle_HipForward : Cycle_HipBackward;
|
||||||
}
|
}
|
||||||
|
|
||||||
const FOLSMovementAnimSet& FOLSGaitAnimSet_CameraFacing::GetPivotFromHipDirection(const EOLSHipDirection hipDirection) const
|
const FOLSMovementAnimSet_CameraFacing_Directional& FOLSGaitAnimSet_CameraFacing::GetPivotFromHipDirection(const EOLSHipDirection hipDirection) const
|
||||||
{
|
{
|
||||||
return (hipDirection == EOLSHipDirection::EForward) ? Pivot_HipForward : Pivot_HipBackward;
|
return (hipDirection == EOLSHipDirection::EForward) ? Pivot_HipForward : Pivot_HipBackward;
|
||||||
}
|
}
|
||||||
|
|
||||||
const FOLSMovementAnimSet& FOLSGaitAnimSet_CameraFacing::GetStopCycleFromHipDirection(const EOLSHipDirection hipDirection) const
|
const FOLSMovementAnimSet_CameraFacing_Directional& FOLSGaitAnimSet_CameraFacing::GetStopCycleFromHipDirection(const EOLSHipDirection hipDirection) const
|
||||||
{
|
{
|
||||||
return (hipDirection == EOLSHipDirection::EForward) ? StopCycle_HipForward : StopCycle_HipBackward;
|
return (hipDirection == EOLSHipDirection::EForward) ? StopCycle_HipForward : StopCycle_HipBackward;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -262,20 +262,8 @@ protected:
|
|||||||
UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Settings|AnimSet|DistanceMatching")
|
UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Settings|AnimSet|DistanceMatching")
|
||||||
FName JumpDistanceCurveName = NAME_None;
|
FName JumpDistanceCurveName = NAME_None;
|
||||||
|
|
||||||
UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Settings|AnimSet|FeetPosition")
|
UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Settings|FeetPosition")
|
||||||
FName FeetPositionCurveName = NAME_None;
|
FOLSFeetPositionSettings FeetPositionSettings;
|
||||||
|
|
||||||
UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Settings|AnimSet|FeetPosition")
|
|
||||||
FName IKFootRight = NAME_None;
|
|
||||||
|
|
||||||
UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Settings|AnimSet|FeetPosition")
|
|
||||||
FName IKTargetFootRight = NAME_None;
|
|
||||||
|
|
||||||
UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Settings|AnimSet|FeetPosition")
|
|
||||||
FName IKFootLeft = NAME_None;
|
|
||||||
|
|
||||||
UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Settings|AnimSet|FeetPosition")
|
|
||||||
FName IKTargetFootLeft = NAME_None;
|
|
||||||
|
|
||||||
UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Settings|StrideWarping")
|
UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Settings|StrideWarping")
|
||||||
float StrideWarpingBlendInDurationScaled = .2f;
|
float StrideWarpingBlendInDurationScaled = .2f;
|
||||||
|
|||||||
@ -10,31 +10,26 @@
|
|||||||
#include "OLSAnimationData.generated.h"
|
#include "OLSAnimationData.generated.h"
|
||||||
|
|
||||||
USTRUCT(BlueprintType)
|
USTRUCT(BlueprintType)
|
||||||
struct FOLSRotationMatchingData
|
struct FOLSFeetPositionSettings
|
||||||
{
|
{
|
||||||
GENERATED_BODY()
|
GENERATED_BODY()
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
UPROPERTY(BlueprintReadWrite, Category = "RotationMatchingData")
|
UPROPERTY(EditAnywhere, BlueprintReadOnly)
|
||||||
float TargetAngle = 0.0f;
|
FName IKFootRight = NAME_None;
|
||||||
|
|
||||||
UPROPERTY(BlueprintReadWrite, Category = "RotationMatchingData")
|
UPROPERTY(EditAnywhere, BlueprintReadOnly)
|
||||||
float CurrentAccelDir = 0.0f;
|
FName IKTargetFootRight = NAME_None;
|
||||||
|
|
||||||
UPROPERTY(BlueprintReadWrite, Category = "RotationMatchingData")
|
|
||||||
float EntryAccelDir = 0.0f;
|
|
||||||
|
|
||||||
UPROPERTY(BlueprintReadWrite, Category = "RotationMatchingData")
|
|
||||||
float EntryRotYaw = 0.0f;
|
|
||||||
|
|
||||||
UPROPERTY(BlueprintReadWrite, Category = "RotationMatchingData")
|
UPROPERTY(EditAnywhere, BlueprintReadOnly)
|
||||||
float DesiredYaw = 0.0f;
|
FName IKFootLeft = NAME_None;
|
||||||
|
|
||||||
UPROPERTY(BlueprintReadWrite, Category = "RotationMatchingData")
|
UPROPERTY(EditAnywhere, BlueprintReadOnly)
|
||||||
uint8 AnimHasRotationLeft : 1 = true;
|
FName IKTargetFootLeft = NAME_None;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#pragma region Idle and Turn In-Place AnimSets
|
||||||
USTRUCT(BlueprintType)
|
USTRUCT(BlueprintType)
|
||||||
struct FOLSTurnInPlaceAnimSet
|
struct FOLSTurnInPlaceAnimSet
|
||||||
{
|
{
|
||||||
@ -46,37 +41,19 @@ public:
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "TurnInPlace Anim Set")
|
UPROPERTY(EditAnywhere, BlueprintReadOnly)
|
||||||
TObjectPtr<class UAnimSequence> TurnInPlace_90_L = nullptr;
|
TObjectPtr<class UAnimSequence> TurnInPlace_90_L = nullptr;
|
||||||
|
|
||||||
UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "TurnInPlace Anim Set")
|
UPROPERTY(EditAnywhere, BlueprintReadOnly)
|
||||||
TObjectPtr<class UAnimSequence> TurnInPlace_90_R = nullptr;
|
TObjectPtr<class UAnimSequence> TurnInPlace_90_R = nullptr;
|
||||||
|
|
||||||
UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "TurnInPlace Anim Set")
|
UPROPERTY(EditAnywhere, BlueprintReadOnly)
|
||||||
TObjectPtr<class UAnimSequence> TurnInPlace_180_L = nullptr;
|
TObjectPtr<class UAnimSequence> TurnInPlace_180_L = nullptr;
|
||||||
|
|
||||||
UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "TurnInPlace Anim Set")
|
UPROPERTY(EditAnywhere, BlueprintReadOnly)
|
||||||
TObjectPtr<class UAnimSequence> TurnInPlace_180_R = nullptr;
|
TObjectPtr<class UAnimSequence> TurnInPlace_180_R = nullptr;
|
||||||
};
|
};
|
||||||
|
|
||||||
USTRUCT(BlueprintType)
|
|
||||||
struct FOLSAimAnimSet
|
|
||||||
{
|
|
||||||
GENERATED_BODY()
|
|
||||||
|
|
||||||
public:
|
|
||||||
|
|
||||||
UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Aim Anim Set")
|
|
||||||
TObjectPtr<class UAnimSequence> AimPose = nullptr;
|
|
||||||
|
|
||||||
UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Aim Anim Set")
|
|
||||||
TObjectPtr<class UAimOffsetBlendSpace> IdleAimOffset = nullptr;
|
|
||||||
|
|
||||||
UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Aim Anim Set")
|
|
||||||
TObjectPtr<class UAimOffsetBlendSpace> RelaxedAimOffset = nullptr;
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
USTRUCT(BlueprintType)
|
USTRUCT(BlueprintType)
|
||||||
struct FOLSIdleAnimSet
|
struct FOLSIdleAnimSet
|
||||||
{
|
{
|
||||||
@ -90,13 +67,13 @@ public:
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Idle Anim Set")
|
UPROPERTY(EditAnywhere, BlueprintReadOnly)
|
||||||
TArray<class UAnimSequence*> IdleBreaks;
|
TArray<class UAnimSequence*> IdleBreaks;
|
||||||
|
|
||||||
UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Idle Anim Set")
|
UPROPERTY(EditAnywhere, BlueprintReadOnly)
|
||||||
TObjectPtr<class UAnimSequence> Idle = nullptr;
|
TObjectPtr<class UAnimSequence> Idle = nullptr;
|
||||||
|
|
||||||
UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Idle Anim Set")
|
UPROPERTY(EditAnywhere, BlueprintReadOnly)
|
||||||
TObjectPtr<class UAnimSequence> IdleExit = nullptr;
|
TObjectPtr<class UAnimSequence> IdleExit = nullptr;
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -115,37 +92,34 @@ public:
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Idle and Turn In Place Anim Set")
|
UPROPERTY(EditAnywhere, BlueprintReadOnly)
|
||||||
FOLSIdleAnimSet IdleAnimSet;
|
FOLSIdleAnimSet IdleAnimSet;
|
||||||
|
|
||||||
UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Idle and Turn In Place Anim Set")
|
UPROPERTY(EditAnywhere, BlueprintReadOnly)
|
||||||
FOLSTurnInPlaceAnimSet TurnInPlaceAnimSet;
|
FOLSTurnInPlaceAnimSet TurnInPlaceAnimSet;
|
||||||
};
|
};
|
||||||
|
#pragma endregion
|
||||||
|
|
||||||
USTRUCT(BlueprintType)
|
USTRUCT(BlueprintType)
|
||||||
struct FOLSMovementAnimSet
|
struct FOLSMovementAnimSet_FeetPosition
|
||||||
{
|
{
|
||||||
GENERATED_BODY()
|
GENERATED_BODY()
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
class UAnimSequence* GetMovementAnimationByCardinalDirection(const EOLSCardinalDirection& direction) const;
|
class UAnimSequence* GetForwardLeftOrRightFoot(const bool isRightFootFarFromTarget) const;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Movement Cycle Anim Set")
|
|
||||||
TObjectPtr<class UAnimSequence> Forward = nullptr;
|
|
||||||
|
|
||||||
UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Movement Cycle Anim Set")
|
|
||||||
TObjectPtr<class UAnimSequence> Backward = nullptr;
|
|
||||||
|
|
||||||
UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Movement Cycle Anim Set")
|
UPROPERTY(EditAnywhere, BlueprintReadOnly)
|
||||||
TObjectPtr<class UAnimSequence> Right = nullptr;
|
TObjectPtr<class UAnimSequence> LeftFoot = nullptr;
|
||||||
|
|
||||||
|
UPROPERTY(EditAnywhere, BlueprintReadOnly)
|
||||||
|
TObjectPtr<class UAnimSequence> RightFoot = nullptr;
|
||||||
|
|
||||||
UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Movement Cycle Anim Set")
|
|
||||||
TObjectPtr<class UAnimSequence> Left = nullptr;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#pragma region Forward Facing Anim Sets
|
||||||
USTRUCT(BlueprintType)
|
USTRUCT(BlueprintType)
|
||||||
struct FOLSMovementAnimSet_ForwardFacing_StartCycle
|
struct FOLSMovementAnimSet_ForwardFacing_StartCycle
|
||||||
{
|
{
|
||||||
@ -153,31 +127,28 @@ struct FOLSMovementAnimSet_ForwardFacing_StartCycle
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
class UAnimSequence* GetForwardLeftOrRightFootByAngle(const bool isRightFootFront) const;
|
class UAnimSequence* GetForwardLeftOrRightFoot(const bool isRightFootFarFromTarget) const;
|
||||||
class UAnimSequence* GetForward180LeftOrRightByAngle(const float angle) const;
|
class UAnimSequence* GetForward180LeftOrRightByAngle(const float angle) const;
|
||||||
class UAnimSequence* GetMovementAnimationByAngle(const EOLSCardinalDirection direction,
|
class UAnimSequence* GetMovementAnimationByAngle(const EOLSCardinalDirection direction,
|
||||||
const float angle,
|
const float angle,
|
||||||
const bool isRightFootFront) const;
|
const bool isRightFootFarFromTarget) const;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Movement Start Cycle Anim Set")
|
|
||||||
TObjectPtr<class UAnimSequence> Forward_L = nullptr;
|
|
||||||
|
|
||||||
UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Movement Start Cycle Anim Set")
|
UPROPERTY(EditAnywhere, BlueprintReadOnly, meta = (DisplayName = "Start Forward Left or Right Foot"))
|
||||||
TObjectPtr<class UAnimSequence> Forward_R = nullptr;
|
FOLSMovementAnimSet_FeetPosition Forward;
|
||||||
|
|
||||||
UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Movement Start Cycle Anim Set")
|
UPROPERTY(EditAnywhere, BlueprintReadOnly, meta = (DisplayName = "Start Forward Turn 180 Left"))
|
||||||
TObjectPtr<class UAnimSequence> Forward180_L = nullptr;
|
TObjectPtr<class UAnimSequence> Forward180L = nullptr;
|
||||||
|
|
||||||
UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Movement Start Cycle Anim Set")
|
UPROPERTY(EditAnywhere, BlueprintReadOnly, meta = (DisplayName = "Start Forward Turn 180 Right"))
|
||||||
TObjectPtr<class UAnimSequence> Forward180_R = nullptr;
|
TObjectPtr<class UAnimSequence> Forward180R = nullptr;
|
||||||
|
|
||||||
UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Movement Start Cycle Anim Set")
|
|
||||||
TObjectPtr<class UAnimSequence> Right = nullptr;
|
|
||||||
|
|
||||||
UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Movement Start Cycle Anim Set")
|
UPROPERTY(EditAnywhere, BlueprintReadOnly, meta = (DisplayName = "Start Forward Turn 90 Left"))
|
||||||
TObjectPtr<class UAnimSequence> Left = nullptr;
|
TObjectPtr<class UAnimSequence> Forward90L = nullptr;
|
||||||
|
|
||||||
|
UPROPERTY(EditAnywhere, BlueprintReadOnly, meta = (DisplayName = "Start Forward Turn 90 Right"))
|
||||||
|
TObjectPtr<class UAnimSequence> Forward90R = nullptr;
|
||||||
};
|
};
|
||||||
|
|
||||||
USTRUCT(BlueprintType)
|
USTRUCT(BlueprintType)
|
||||||
@ -185,43 +156,22 @@ struct FOLSMovementAnimSet_ForwardFacing_Pivot
|
|||||||
{
|
{
|
||||||
GENERATED_BODY()
|
GENERATED_BODY()
|
||||||
|
|
||||||
public:
|
|
||||||
|
|
||||||
UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Movement Pivot Anim Set")
|
|
||||||
TObjectPtr<class UAnimSequence> Pivot180L = nullptr;
|
|
||||||
|
|
||||||
UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Movement Pivot Anim Set")
|
|
||||||
TObjectPtr<class UAnimSequence> Pivot180R = nullptr;
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
USTRUCT(BlueprintType)
|
|
||||||
struct FOLSMovementAnimSets_ForwardFacing_Pivot
|
|
||||||
{
|
|
||||||
GENERATED_BODY()
|
|
||||||
|
|
||||||
protected:
|
|
||||||
|
|
||||||
void GetLeftOrRightAnimSet(const bool isLeftFootPlanted, const bool isRightFootPlanted,
|
|
||||||
FOLSMovementAnimSet_ForwardFacing_Pivot& outAnimSet) const;
|
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
class UAnimSequence* GetLeftOrRightByAngle(const float angle,
|
class UAnimSequence* GetLeftOrRightByAngle(const float angle,
|
||||||
const bool isLeftFootPlanted,
|
const bool isRightFootFarFromTarget) const;
|
||||||
const bool isRightFootPlanted) const;
|
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Movement Pivot Anim Set")
|
|
||||||
FOLSMovementAnimSet_ForwardFacing_Pivot Pivot_LeftFoot;
|
|
||||||
|
|
||||||
UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Movement Pivot Anim Set")
|
UPROPERTY(EditAnywhere, BlueprintReadOnly, meta = (DisplayName = "Pivot Turn 180 Left"))
|
||||||
FOLSMovementAnimSet_ForwardFacing_Pivot Pivot_RightFoot;
|
FOLSMovementAnimSet_FeetPosition Pivot180L;
|
||||||
|
|
||||||
|
UPROPERTY(EditAnywhere, BlueprintReadOnly, meta = (DisplayName = "Pivot Turn 180 Right"))
|
||||||
|
FOLSMovementAnimSet_FeetPosition Pivot180R;
|
||||||
};
|
};
|
||||||
|
|
||||||
USTRUCT(BlueprintType)
|
USTRUCT(BlueprintType)
|
||||||
struct FOLSMovementAnimSets_ForwardFacing_StopCycle
|
struct FOLSMovementAnimSet_ForwardFacing_StopCycle
|
||||||
{
|
{
|
||||||
GENERATED_BODY()
|
GENERATED_BODY()
|
||||||
|
|
||||||
@ -231,11 +181,37 @@ public:
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Movement Pivot Anim Set")
|
UPROPERTY(EditAnywhere, BlueprintReadOnly, meta = (DisplayName = "Stop Left or Right Foot"))
|
||||||
TObjectPtr<class UAnimSequence> StopCycle_LeftFoot;
|
FOLSMovementAnimSet_FeetPosition Stop;
|
||||||
|
};
|
||||||
|
#pragma endregion
|
||||||
|
|
||||||
UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Movement Pivot Anim Set")
|
USTRUCT(BlueprintType)
|
||||||
TObjectPtr<class UAnimSequence> StopCycle_RightFoot;
|
struct FOLSMovementAnimSet_CameraFacing_Directional
|
||||||
|
{
|
||||||
|
GENERATED_BODY()
|
||||||
|
|
||||||
|
protected:
|
||||||
|
|
||||||
|
void GetMovementAnimSetByCardinalDirection(const EOLSCardinalDirection& direction, FOLSMovementAnimSet_FeetPosition& outAnimSet) const;
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
class UAnimSequence* GetMovementAnimByCardinalDirection(const EOLSCardinalDirection& direction, const bool isRightFootFarFromTarget) const;
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
UPROPERTY(EditAnywhere, BlueprintReadOnly)
|
||||||
|
FOLSMovementAnimSet_FeetPosition Forward;
|
||||||
|
|
||||||
|
UPROPERTY(EditAnywhere, BlueprintReadOnly)
|
||||||
|
FOLSMovementAnimSet_FeetPosition Backward;
|
||||||
|
|
||||||
|
UPROPERTY(EditAnywhere, BlueprintReadOnly)
|
||||||
|
FOLSMovementAnimSet_FeetPosition Right;
|
||||||
|
|
||||||
|
UPROPERTY(EditAnywhere, BlueprintReadOnly)
|
||||||
|
FOLSMovementAnimSet_FeetPosition Left;
|
||||||
};
|
};
|
||||||
|
|
||||||
USTRUCT(BlueprintType)
|
USTRUCT(BlueprintType)
|
||||||
@ -283,12 +259,13 @@ public:
|
|||||||
TObjectPtr<class UAnimSequence> Cycle = nullptr;
|
TObjectPtr<class UAnimSequence> Cycle = nullptr;
|
||||||
|
|
||||||
UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Gait Anim Set")
|
UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Gait Anim Set")
|
||||||
FOLSMovementAnimSets_ForwardFacing_Pivot Pivot;
|
FOLSMovementAnimSet_ForwardFacing_Pivot Pivot;
|
||||||
|
|
||||||
UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Gait Anim Set")
|
UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Gait Anim Set")
|
||||||
FOLSMovementAnimSets_ForwardFacing_StopCycle StopCycle;
|
FOLSMovementAnimSet_ForwardFacing_StopCycle StopCycle;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
USTRUCT(BlueprintType)
|
USTRUCT(BlueprintType)
|
||||||
struct FOLSGaitAnimSet_CameraFacing : public FOLSGaitAnimSet
|
struct FOLSGaitAnimSet_CameraFacing : public FOLSGaitAnimSet
|
||||||
{
|
{
|
||||||
@ -296,36 +273,36 @@ struct FOLSGaitAnimSet_CameraFacing : public FOLSGaitAnimSet
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
const FOLSMovementAnimSet& GetStartCycleFromHipDirection(const EOLSHipDirection hipDirection) const;
|
const FOLSMovementAnimSet_CameraFacing_Directional& GetStartCycleFromHipDirection(const EOLSHipDirection hipDirection) const;
|
||||||
const FOLSMovementAnimSet& GetCycleFromHipDirection(const EOLSHipDirection hipDirection) const;
|
const FOLSMovementAnimSet_CameraFacing_Directional& GetCycleFromHipDirection(const EOLSHipDirection hipDirection) const;
|
||||||
const FOLSMovementAnimSet& GetPivotFromHipDirection(const EOLSHipDirection hipDirection) const;
|
const FOLSMovementAnimSet_CameraFacing_Directional& GetPivotFromHipDirection(const EOLSHipDirection hipDirection) const;
|
||||||
const FOLSMovementAnimSet& GetStopCycleFromHipDirection(const EOLSHipDirection hipDirection) const;
|
const FOLSMovementAnimSet_CameraFacing_Directional& GetStopCycleFromHipDirection(const EOLSHipDirection hipDirection) const;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Gait Anim Set | Hip Forward")
|
UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Gait Anim Set | Hip Forward")
|
||||||
FOLSMovementAnimSet StartCycle_HipForward;
|
FOLSMovementAnimSet_CameraFacing_Directional StartCycle_HipForward;
|
||||||
|
|
||||||
UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Gait Anim Set | Hip Forward")
|
UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Gait Anim Set | Hip Forward")
|
||||||
FOLSMovementAnimSet Cycle_HipForward;
|
FOLSMovementAnimSet_CameraFacing_Directional Cycle_HipForward;
|
||||||
|
|
||||||
UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Gait Anim Set | Hip Forward")
|
UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Gait Anim Set | Hip Forward")
|
||||||
FOLSMovementAnimSet Pivot_HipForward;
|
FOLSMovementAnimSet_CameraFacing_Directional Pivot_HipForward;
|
||||||
|
|
||||||
UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Gait Anim Set | Hip Forward")
|
UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Gait Anim Set | Hip Forward")
|
||||||
FOLSMovementAnimSet StopCycle_HipForward;
|
FOLSMovementAnimSet_CameraFacing_Directional StopCycle_HipForward;
|
||||||
|
|
||||||
UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Gait Anim Set | Hip Backward")
|
UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Gait Anim Set | Hip Backward")
|
||||||
FOLSMovementAnimSet StartCycle_HipBackward;
|
FOLSMovementAnimSet_CameraFacing_Directional StartCycle_HipBackward;
|
||||||
|
|
||||||
UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Gait Anim Set | Hip Backward")
|
UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Gait Anim Set | Hip Backward")
|
||||||
FOLSMovementAnimSet Cycle_HipBackward;
|
FOLSMovementAnimSet_CameraFacing_Directional Cycle_HipBackward;
|
||||||
|
|
||||||
UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Gait Anim Set | Hip Backward")
|
UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Gait Anim Set | Hip Backward")
|
||||||
FOLSMovementAnimSet Pivot_HipBackward;
|
FOLSMovementAnimSet_CameraFacing_Directional Pivot_HipBackward;
|
||||||
|
|
||||||
UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Gait Anim Set | Hip Backward")
|
UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Gait Anim Set | Hip Backward")
|
||||||
FOLSMovementAnimSet StopCycle_HipBackward;
|
FOLSMovementAnimSet_CameraFacing_Directional StopCycle_HipBackward;
|
||||||
};
|
};
|
||||||
|
|
||||||
USTRUCT(BlueprintType)
|
USTRUCT(BlueprintType)
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"FileVersion": 3,
|
"FileVersion": 3,
|
||||||
"EngineAssociation": "5.6",
|
"EngineAssociation": "5.5",
|
||||||
"Category": "",
|
"Category": "",
|
||||||
"Description": "",
|
"Description": "",
|
||||||
"Modules": [
|
"Modules": [
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user