UKismetMathLibrary::MakePlaneFromPointAndNormal
#include "Kismet/KismetMathLibrary.h"
Access: public
Specifiers: staticUFUNCTIONBlueprintPure
Description
Constructs an FPlane (Ax + By + Cz = D form) from a world-space point and a surface normal. Use this when you have geometric context (a hit normal, a surface tangent) and want an FPlane for clipping, mirror math, or distance queries.
Caveats & Gotchas
- • Passing a zero-length Normal produces a degenerate plane (NaN components) — always ensure Normal is non-zero before calling.
- • FPlane stores the signed distance from the origin in its W component (D = dot(Normal_normalized, Point)); querying PlaneDot with a world point gives signed distance, positive on the normal side.
Signature
static ENGINE_API FPlane MakePlaneFromPointAndNormal(FVector Point, FVector Normal); Parameters
| Name | Type | Description | Default |
|---|---|---|---|
| Point | FVector | Any point that lies on the plane. | — |
| Normal | FVector | The facing direction of the plane (need not be unit length — it will be normalized internally). | — |
Return Type
FPlane Example
Build a clipping plane from a hit result C++
FHitResult Hit;
if (GetWorld()->LineTraceSingleByChannel(Hit, Start, End, ECC_Visibility))
{
FPlane SurfacePlane = UKismetMathLibrary::MakePlaneFromPointAndNormal(
Hit.ImpactPoint,
Hit.ImpactNormal
);
float SignedDist = SurfacePlane.PlaneDot(SomeOtherPoint);
} Tags
Version History
Introduced in: 4.0
| Version | Status | Notes |
|---|---|---|
| 5.6 | stable | — |
Feedback
Was this helpful?