8#include "CoreMinimal.h"
9#include "Kismet/BlueprintFunctionLibrary.h"
10#include "CollisionQueryParams.h"
11#include "Engine/StaticMesh.h"
13#include "PhysicsUtilities.generated.h"
34 UFUNCTION(BlueprintCallable, Category =
"Physics Utilities")
35 static bool SnapActorToGround(AActor* Actor,
float StartZOffset = 600.0f,
float EndZOffset = 600.0f);
43 UFUNCTION(BlueprintCallable, Category =
"Physics Utilities")
44 static bool SnapActorAboveGround(AActor* Actor,
float AboveOffset = 50.0f);
54 UFUNCTION(BlueprintCallable, Category =
"Physics Utilities")
55 static bool DoesTopPercentageMeshOverlap(AActor* Actor,
const UStaticMesh* Mesh,
float TopPercentage, ECollisionChannel CollisionChannel);
63 UFUNCTION(BlueprintCallable, Category =
"Physics Utilities")
64 static bool HasOverlappingActors(
const UStaticMesh* StaticMesh,
const FTransform&
Transform);
73 UFUNCTION(BlueprintCallable, Category =
"Physics Utilities")
74 static TArray<AActor*> FindOverlappingActorsInSphere(
const FTransform& ActorTransform,
float Radius,
bool DebugVisualizeRadius =
false);
81 UFUNCTION(BlueprintCallable, Category =
"Physics Utilities")
82 static bool AlignTransformFromGroundInMeters(AActor* Actor, FTransform& InTransform);
92 static TArray<T*> FindOverlappingActorsOfClass(
const FTransform& ActorTransform,
float Radius,
bool DebugVisualizeRadius =
false);