Representation of a plane in 3D space.
A plane is an infinitely large, flat surface that exists in 3D space and divides the space into two halves known as half-spaces. It is easy to determine which of the two half-spaces a particular point is in and also how far the point is from the plane. Walls, floors and other flat surfaces are common in games, so a plane is sometimes useful for mathematical calculations with these objects. Also, there are cases where a real surface does not exist but it is useful to imagine that one is there. For example, in sports, a goal line or out-of-bounds line is often assumed to extend into the air, effectively defining a plane.
When a plane passes through the <0,0,0> point in world space, it is defined simply by a normal vector that determines which way it faces. It is easy to visualise this if you imagine looking at the plane edge-on.
Note that the side from which the normal vector points is important since it is used to identify which half-space a point is in (ie, on the positive or “normal” side of the plane or the other side). When the plane doesn't pass through <0,0,0> it can be defined by the normal vector along with a distance from <0,0,0>
A plane can also be defined by the three corner points of a triangle that lies within the plane. In this case, the normal vector points toward you if the corner points go around clockwise as you look at the triangle face-on.
|Plane||Creates a plane.
|GetDistanceToPoint||Returns a signed distance from plane to point.
|GetSide||Is a point on the positive side of the plane?
|Raycast||Intersects a ray with the plane.
|SameSide||Are two points on the same side of the plane?
|Set3Points||Sets a plane using three points that lie within it. The points go around clockwise as you look down on the top surface of the plane.
|SetNormalAndPosition||Sets a plane using a point that lies within it along with a normal to orient it.