diff --git a/Plugins/VRGAS/Source/VRGAS/Public/VRGASUtils.h b/Plugins/VRGAS/Source/VRGAS/Public/VRGASUtils.h index 45311fe..6be1eca 100644 --- a/Plugins/VRGAS/Source/VRGAS/Public/VRGASUtils.h +++ b/Plugins/VRGAS/Source/VRGAS/Public/VRGASUtils.h @@ -6,8 +6,10 @@ #include "Kismet/BlueprintFunctionLibrary.h" #include "VRGASUtils.generated.h" +class UGameplayAbility; class UGameplayEffect; class UAbilitySystemComponent; + /** * */ diff --git a/Plugins/VRUtils/Source/VRUtils/Private/VRUtilsBPLibrary.cpp b/Plugins/VRUtils/Source/VRUtils/Private/VRUtilsBPLibrary.cpp index 93f8a94..0b26b94 100644 --- a/Plugins/VRUtils/Source/VRUtils/Private/VRUtilsBPLibrary.cpp +++ b/Plugins/VRUtils/Source/VRUtils/Private/VRUtilsBPLibrary.cpp @@ -2,6 +2,7 @@ #include "VRUtilsBPLibrary.h" #include "VRUtils.h" +#include "GameFramework/PawnMovementComponent.h" float UVRUtilsBPLibrary::GetPawnSpeedAlongVector(const APawn* InPawn, const FVector& InVector) { @@ -44,6 +45,15 @@ float UVRUtilsBPLibrary::GetPawnUpVectorSpeed(const APawn* InPawn) return FVector::DotProduct(Velocity, UpVector); } +float UVRUtilsBPLibrary::GetPawnXYSpeed(const APawn* InPawn) +{ + if (!InPawn) return 0.0f; + + const FVector PawnVelocity = InPawn->GetMovementComponent()->Velocity; + + return PawnVelocity.Size2D(); +} + float UVRUtilsBPLibrary::GetDegreeDiff(const FVector& A, const FVector& B) { const float DotResult = FVector::DotProduct(A, B); diff --git a/Plugins/VRUtils/Source/VRUtils/Public/VRUtilsBPLibrary.h b/Plugins/VRUtils/Source/VRUtils/Public/VRUtilsBPLibrary.h index fe400b5..bccfb9d 100644 --- a/Plugins/VRUtils/Source/VRUtils/Public/VRUtilsBPLibrary.h +++ b/Plugins/VRUtils/Source/VRUtils/Public/VRUtilsBPLibrary.h @@ -27,12 +27,15 @@ public: UFUNCTION(BlueprintPure, Category = "VRUtils|Movement|Speed") static float GetPawnForwardVectorSpeed(const APawn* InPawn); - + UFUNCTION(BlueprintPure, Category = "VRUtils|Movement|Speed") static float GetPawnRightVectorSpeed(const APawn* InPawn); UFUNCTION(BlueprintPure, Category = "VRUtils|Movement|Speed") static float GetPawnUpVectorSpeed(const APawn* InPawn); + + UFUNCTION(BlueprintPure, Category = "VRUtils|Movement|Speed") + static float GetPawnXYSpeed(const APawn* InPawn); #pragma endregion #pragma region Math