18 UPROPERTY(BlueprintReadOnly, Category =
"ProjectilePath")
21 UPROPERTY(BlueprintReadOnly, Category = "ProjectilePath")
22 FVector GroundLocation = FVector::ZeroVector;
24 UPROPERTY(BlueprintReadOnly, Category = "ProjectilePath")
25 float HeightAboveGround = 0.0f;
27 UPROPERTY(BlueprintReadOnly, Category = "ProjectilePath")
28 float PathAlpha = 0.0f;
56 bool ResolveLaunchPath(
const AActor* RequestingActor,
const FVector& ImpactPoint,
float SpawnHeightAboveImpact,
float SpawnLateralOffset,
float SpawnForwardOffset, FVector& OutFrom, FVector& OutDirection)
const;
57 bool ResolveTargetHeightLocation(
const UObject* WorldContextObject,
const FVector& PathStart,
const FVector& PathEnd,
float TargetHeight,
FProjectilePathResult& OutResult)
const;
60 float ClampDistanceByObstruction(
const AActor* RequestingActor,
const FVector& StartLocation,
const FVector& Direction,
float Distance,
float ImpactObstructionOffset)
const;
61 bool BSForHeight(
const FVector& PathStart,
const FVector& PathEnd,
float TargetHeight,
FProjectilePathResult& OutResult,
float PreviousAlpha,
float PreviousDelta,
float CurrentAlpha,
float CurrentDelta,
bool& bValue)
const;
62 bool EvaluateHeightAtAlpha(
const FVector& PathStart,
const FVector& PathEnd,
float Alpha,
float TargetHeight,
FProjectilePathResult& OutResult)
const;
63 bool FindGroundLocation(
const FVector& PathLocation, FVector& OutGroundLocation)
const;
66 float GroundTraceUpOffset = 1000.0f;
67 float GroundTraceDownDistance = 10000.0f;
69 int32 SegmentCount = 16;
70 int32 BinarySearchIterationCount = 12;
74 mutable TObjectPtr<UWorld> CachedWorld;