# Plane

> A plane represented by a normal vector and a distance along the normal from the origin.

## Definition

* **Type:** Struct
* **Namespace:** [Unity.Mathematics.Geometry](/engine/6000.5/script-reference/unity/mathematics/geometry.md)
* **Assembly:** UnityEngine.MathematicsModule

```csharp
public struct Plane
```

## Remarks

A plane splits the 3D space in half.  The normal vector points to the positive half and the other half is considered negative.

## Fields

| Value                                                                                                      | Description                                |
| ---------------------------------------------------------------------------------------------------------- | ------------------------------------------ |
| [NormalAndDistance](/engine/6000.5/script-reference/unity/mathematics/geometry/plane/normalanddistance.md) | A plane in the form Ax + By + Cz + Dw = 0. |

## Constructors

| Constructor                                                                                                                                                                                 | Description                                                                                            |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------ |
| [Plane(System.Single,System.Single,System.Single,System.Single)](/engine/6000.5/script-reference/unity/mathematics/geometry/plane/ctor.md#plane\(float-float-float-float\))                 | Constructs a Plane from arbitrary coefficients A, B, C, D of the plane equation Ax + By + Cz + Dw = 0. |
| [Plane(Unity.Mathematics.float3,System.Single)](/engine/6000.5/script-reference/unity/mathematics/geometry/plane/ctor.md#plane\(float3-float\))                                             | Constructs a plane with a normal vector and distance from the origin.                                  |
| [Plane(Unity.Mathematics.float3,Unity.Mathematics.float3)](/engine/6000.5/script-reference/unity/mathematics/geometry/plane/ctor.md#plane\(float3-float3\))                                 | Constructs a plane with a normal vector and a point that lies in the plane.                            |
| [Plane(Unity.Mathematics.float3,Unity.Mathematics.float3,Unity.Mathematics.float3)](/engine/6000.5/script-reference/unity/mathematics/geometry/plane/ctor.md#plane\(float3-float3-float3\)) | Constructs a plane with two vectors and a point that all lie in the plane.                             |

## Properties

| Property                                                                                 | Description                                                                  |
| ---------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------- |
| [Distance](/engine/6000.5/script-reference/unity/mathematics/geometry/plane/distance.md) | Get/set the distance of the plane from the origin.  May be a negative value. |
| [Flipped](/engine/6000.5/script-reference/unity/mathematics/geometry/plane/flipped.md)   | Flips the plane so the normal points in the opposite direction.              |
| [Normal](/engine/6000.5/script-reference/unity/mathematics/geometry/plane/normal.md)     | Get/set the normal vector of the plane.                                      |

## Methods

| Method                                                                                                             | Description                                          |
| ------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------- |
| [Projection](/engine/6000.5/script-reference/unity/mathematics/geometry/plane/projection.md)                       | Projects the given point onto the plane.             |
| [SignedDistanceToPoint](/engine/6000.5/script-reference/unity/mathematics/geometry/plane/signeddistancetopoint.md) | Get the signed distance from the point to the plane. |

## Static Methods

| Method                                                                                                                                         | Description                                                       |
| ---------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------- |
| [CreateFromUnitNormalAndDistance](/engine/6000.5/script-reference/unity/mathematics/geometry/plane/createfromunitnormalanddistance.md)         | Creates a normalized Plane directly without normalization cost.   |
| [CreateFromUnitNormalAndPointInPlane](/engine/6000.5/script-reference/unity/mathematics/geometry/plane/createfromunitnormalandpointinplane.md) | Creates a normalized Plane without normalization cost.            |
| [Normalize](/engine/6000.5/script-reference/unity/mathematics/geometry/plane/normalize.md)                                                     | Normalizes the plane represented by the given plane coefficients. |

## Operators

| Operator                                                                                  | Description                                                                                                                                                                  |
| ----------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [float4](/engine/6000.5/script-reference/unity/mathematics/geometry/plane/op-implicit.md) | Implicitly converts a [Plane](/engine/6000.5/script-reference/unity/mathematics/geometry/plane.md) to [float4](/engine/6000.5/script-reference/unity/mathematics/float4.md). |
