版本: Unity 6 (6000.0)
语言英语
  • C#

Plane

UnityEngine 中的结构体

/

实现于:UnityEngine.CoreModule

建议修改

成功!

感谢您帮助我们提高 Unity 文档的质量。虽然我们无法接受所有提交内容,但我们会阅读用户提出的每一个建议更改,并在适用情况下进行更新。

关闭

提交失败

由于某种原因,您的建议更改无法提交。请 <a>稍后重试</a>。感谢您花时间帮助我们提高 Unity 文档的质量。

关闭

取消

描述

表示 3D 空间中的平面。

平面是存在于 3D 空间中的无限大平面,它将空间分成两个部分,称为半空间。很容易确定特定点位于哪一半空间以及该点距离平面的距离。墙壁、地板和其他平面在游戏中很常见,因此平面有时对这些物体的数学计算很有用。此外,在某些情况下,实际上不存在表面,但假设存在一个表面很有用。例如,在运动中,通常假设球门线或界外线延伸到空中,有效地定义了一个平面。

当平面穿过世界空间中的 <0,0,0> 点时,它只需由一个法线向量定义,该向量决定它面向的方向。如果您想象侧视平面,则很容易直观地理解这一点。



请注意,法线向量指向的一侧很重要,因为它用于识别点位于哪一半空间(即在平面的正侧或“法线”侧,还是另一侧)。当平面不通过 <0,0,0> 时,它可以通过法线向量以及与 <0,0,0> 的距离来定义。



平面也可以由位于平面内的三角形的三个角点定义。在这种情况下,如果角点在您正视三角形面的情况下顺时针方向排列,则法线向量指向您。

.

属性

distance从平面到原点沿平面的法线测量的距离。
flipped返回一个朝相反方向的平面的副本。
normal平面的法线向量。

构造函数

Plane创建一个平面。

公共方法

ClosestPointOnPlane对于给定点,返回平面上最接近的点。
Flip使平面朝相反方向。
GetDistanceToPoint返回从平面到点的有符号距离。
GetSide点是否在平面的正侧?
Raycast用平面相交射线。
SameSide两个点是否在平面的同侧?
Set3Points使用位于平面内的三个点设置平面。当您俯视平面的顶部表面时,这些点按顺时针方向排列。
SetNormalAndPosition使用位于平面内的点以及法线来定位平面设置平面。
Translate返回给定平面在空间中移动给定平移量的副本。