diff --git a/Content/Characters/UEFN_Mannequin/AnimationLayers/ABP_UEFN_Base_New.uasset b/Content/Characters/UEFN_Mannequin/AnimationLayers/ABP_UEFN_Base_New.uasset index 2cee13b..54bcdad 100644 Binary files a/Content/Characters/UEFN_Mannequin/AnimationLayers/ABP_UEFN_Base_New.uasset and b/Content/Characters/UEFN_Mannequin/AnimationLayers/ABP_UEFN_Base_New.uasset differ diff --git a/Content/Characters/UEFN_Mannequin/AnimationLayers/ABP_UEFN_FullBody_Base_New.uasset b/Content/Characters/UEFN_Mannequin/AnimationLayers/ABP_UEFN_FullBody_Base_New.uasset index 84e1483..16f9758 100644 Binary files a/Content/Characters/UEFN_Mannequin/AnimationLayers/ABP_UEFN_FullBody_Base_New.uasset and b/Content/Characters/UEFN_Mannequin/AnimationLayers/ABP_UEFN_FullBody_Base_New.uasset differ diff --git a/Plugins/Developer/RiderLink/Intermediate/FileSystemMappings.ini b/Plugins/Developer/RiderLink/Intermediate/FileSystemMappings.ini index ad6457c..7bdd57c 100644 --- a/Plugins/Developer/RiderLink/Intermediate/FileSystemMappings.ini +++ b/Plugins/Developer/RiderLink/Intermediate/FileSystemMappings.ini @@ -1,10 +1,10 @@ /Engine=C:/Program Files/Epic Games/UE_5.5/Engine/Shaders /ShaderAutogen=H:/Projects/OLS/Intermediate/ShaderAutogen /NFORDenoise=C:/Program Files/Epic Games/UE_5.5/Engine/Plugins/Experimental/NFORDenoise/Shaders -/Plugin/FX/Niagara=C:/Program Files/Epic Games/UE_5.5/Engine/Plugins/FX/Niagara/Shaders -/Plugin/GLTFExporter=C:/Program Files/Epic Games/UE_5.5/Engine/Plugins/Enterprise/GLTFExporter/Shaders -/Plugin/ExrReaderShaders=C:/Program Files/Epic Games/UE_5.5/Engine/Plugins/Media/ImgMedia/Shaders /NNEDenoiserShaders=C:/Program Files/Epic Games/UE_5.5/Engine/Plugins/NNE/NNEDenoiser/Shaders +/Plugin/GLTFExporter=C:/Program Files/Epic Games/UE_5.5/Engine/Plugins/Enterprise/GLTFExporter/Shaders +/Plugin/FX/Niagara=C:/Program Files/Epic Games/UE_5.5/Engine/Plugins/FX/Niagara/Shaders +/Plugin/ExrReaderShaders=C:/Program Files/Epic Games/UE_5.5/Engine/Plugins/Media/ImgMedia/Shaders /Plugin/WmfMedia=C:/Program Files/Epic Games/UE_5.5/Engine/Plugins/Media/WmfMedia/Shaders /Plugin/ComputeFramework=C:/Program Files/Epic Games/UE_5.5/Engine/Plugins/Runtime/ComputeFramework/Shaders /Plugin/Runtime/HairStrands=C:/Program Files/Epic Games/UE_5.5/Engine/Plugins/Runtime/HairStrands/Shaders diff --git a/Source/OLSAnimation/Private/AnimInstances/OLSBaseLayerAnimInstance.cpp b/Source/OLSAnimation/Private/AnimInstances/OLSBaseLayerAnimInstance.cpp index 1b53d15..07c8337 100644 --- a/Source/OLSAnimation/Private/AnimInstances/OLSBaseLayerAnimInstance.cpp +++ b/Source/OLSAnimation/Private/AnimInstances/OLSBaseLayerAnimInstance.cpp @@ -271,7 +271,7 @@ void UOLSBaseLayerAnimInstance::NativeThreadSafeUpdateAccelerationData(const flo LocalAcceleration2D = UKismetMathLibrary::LessLess_VectorRotator(worldAcceleration2D, WorldRotation); - bHasAcceleration = (!FMath::IsNearlyZero(LocalAcceleration2D.SizeSquared2D(), .000001f)); + bHasAcceleration = (!FMath::IsNearlyZero(LocalAcceleration2D.SizeSquared2D(), KINDA_SMALL_NUMBER)); PivotDirection2D = UKismetMathLibrary::Normal(UKismetMathLibrary::VLerp(PivotDirection2D, UKismetMathLibrary::Normal(worldAcceleration2D), .5f)); @@ -283,6 +283,22 @@ void UOLSBaseLayerAnimInstance::NativeThreadSafeUpdateAccelerationData(const flo CardinalDirectionDeadZone, EOLSCardinalDirection::EForward)) : EOLSCardinalDirection::EBackward); + if (HasAcceleration()) + { + const float directionSign = FMath::Sign( + UKismetAnimationLibrary::CalculateDirection(OwningPawnAcceleration, WorldRotation)); + TurnDirection = FMath::FloorToInt(directionSign); + } + + if (LocalAcceleration2D.GetSafeNormal2D().Dot(LocalVelocity2D.GetSafeNormal2D()) < -.2f && HasAcceleration() && !bIsPivoting) + { + bIsPivoting = true; + } + else if (LocalAcceleration2D.GetSafeNormal2D().Dot(LocalVelocity2D.GetSafeNormal2D()) >= 0.f || !HasAcceleration()) + { + bIsPivoting = false; + } + // Call custom logic on blueprint. BlueprintThreadSafeUpdateAccelerationData(deltaSeconds); } diff --git a/Source/OLSAnimation/Public/AnimInstances/OLSBaseLayerAnimInstance.h b/Source/OLSAnimation/Public/AnimInstances/OLSBaseLayerAnimInstance.h index b61146d..07107bf 100644 --- a/Source/OLSAnimation/Public/AnimInstances/OLSBaseLayerAnimInstance.h +++ b/Source/OLSAnimation/Public/AnimInstances/OLSBaseLayerAnimInstance.h @@ -245,9 +245,15 @@ protected: UPROPERTY(BlueprintReadOnly, Category = "ThreadSafe|AccelerationData") FVector LocalAcceleration2D = FVector::ZeroVector; + UPROPERTY(BlueprintReadOnly, Category = "ThreadSafe|AccelerationData") + int32 TurnDirection = 0; + UPROPERTY(BlueprintReadOnly, Category = "ThreadSafe|AccelerationData") uint8 bHasAcceleration : 1; + UPROPERTY(BlueprintReadOnly, Category = "ThreadSafe|AccelerationData") + uint8 bIsPivoting : 1; + UPROPERTY(BlueprintReadOnly, Category = "ThreadSafe|AccelerationData") FVector PivotDirection2D = FVector::ZeroVector;