RealDocs

UKismetMathLibrary::MakePlaneFromPointAndNormal

function Engine Blueprint Since 4.0
#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?

Suggest an edit

Select a field above to begin editing.