Unity 6.3
0 онлайн 76 гостей 3 в системе
Вход

Plane

структура в UnityEngine

Выполнено в:UnityEngine.CoreModule

Описание

Представление плоскости в пространстве 3D.

Плоскость — это бесконечно большая плоская поверхность в трёхмерном пространстве, которая делит его на две половины, называемые полупространствами. Можно легко определить, в каком из двух полупространств находится точка и на каком расстоянии от плоскости она расположена. Стены, полы и другие плоские поверхности часто встречаются в играх, поэтому плоскость бывает полезна для математических вычислений с такими объектами. Иногда реальной поверхности нет, но удобно представить, что она существует. Например, в спорте линию ворот или границу поля часто мысленно продолжают вверх, фактически определяя плоскость.

Если плоскость проходит через точку <0,0,0> мирового пространства, её достаточно задать вектором нормали, который определяет направление лицевой стороны. Это легко представить, если смотреть на плоскость с ребра.



На предыдущем изображении плоскость показана диагональной красной линией с уравнением x = y, проходящей через начало координат <0,0,0> мирового пространства. Вторая линия изображает вектор нормали с положительной составляющей y и указывает направление лицевой стороны плоскости.

Направление вектора нормали важно, поскольку по нему определяется, в каком полупространстве находится точка: на положительной, или «нормальной», стороне плоскости либо с другой стороны. Если плоскость не проходит через <0,0,0>, её можно задать вектором нормали и расстоянием от <0,0,0>.



На предыдущем изображении плоскость показана диагональной красной линией, которая проходит через точку со смещением -2, 0, а не через начало координат <0,0,0>. Вторая линия изображает вектор нормали с положительной составляющей y и указывает направление лицевой стороны плоскости. Третья пунктирная линия задаёт расстояние между плоскостью и началом координат.

Плоскость также можно задать тремя угловыми точками треугольника, лежащего в ней. В этом случае вектор нормали направлен к наблюдателю, если при взгляде на лицевую сторону треугольника его вершины расположены по часовой стрелке.

.

На предыдущем изображении треугольник задан точками A внизу слева, B вверху и C внизу справа. Стрелка показывает, что плоскость, в которой лежит этот треугольник, обращена к наблюдателю.

Свойства

Свойство Описание
distanceРасстояние, измеряемое от плоскости к источнику, вдоль нормали плоскости.
flippedВозвращает копию плоскости, которая обращена в противоположном направлении.
normalНормальный вектор плоскости.

Конструкторы

Конструктор Описание
PlaneСоздает плоскость.

Открытые методы

Метод Описание
ClosestPointOnPlaneДля заданной точки возвращает ближайшую точку на плоскости.
FlipДелает плоскость лицом в противоположном направлении.
GetDistanceToPointВозвращает знаковое расстояние от плоскости до точки.
GetSideЕсть ли точка на положительной стороне плоскости?
RaycastПересекает луч с плоскостью.
SameSideЯвляются ли две точки на одной стороне плоскости?
Set3PointsУстанавливает плоскость с помощью трех точек, которые лежат внутри нее. Точки вращаются по часовой стрелке, когда вы смотрите вниз на верхнюю поверхность плоскости.
SetNormalAndPositionУстанавливает плоскость, используя точку, которая лежит внутри нее, вместе с нормалью для ее ориентации.
TranslateВозвращает копию заданной плоскости, которая перемещается в пространстве при заданной трансляции.