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

Matrix4x4

структура в UnityEngine

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

Описание

Стандартная матрица преобразования 4x4.

Матрица преобразований может выполнять произвольные линейные преобразования 3D (i.e. перемещение, вращение, масштабирование, сдвиг и т.д.) и перспективные преобразования с использованием однородных координат. Матрицы редко используются в скриптах; чаще всего используются Vector3s, Quaternionи функциональность Transform класс проще. Обычные матрицы применяются в особых случаях — например, при настройке нестандартной проекции камеры.

В Unity, несколько Transform, Camera, Material, Graphics и GL функции используют Matrix4x4.

Матрицы в Unity являются столбцовыми; i.e. позиция матрицы преобразования находится в последнем столбце, а первые три столбца содержат оси x, y и z. Данные доступны как: row + (column*4). Матрицы можно индексировать как массивы 2D, но обратите внимание, что в выражении вроде mat[a, b], a относится к индексу строки, а b относится к индексу столбца.

using UnityEngine;

public class ExampleScript : MonoBehaviour { void Start() { // get matrix from the Transform var matrix = transform.localToWorldMatrix; // get position from the last column var position = new Vector3(matrix[0,3], matrix[1,3], matrix[2,3]); Debug.Log("Transform position from matrix is: " + position); } }

Статические свойства

Свойство Описание
identityВозвращает матрицу идентификации (только для чтения).
zeroВозвращает матрицу с нулевыми элементами (только для чтения).

Свойства

Свойство Описание
decomposeProjectionЭто свойство принимает матрицу проекции и возвращает шесть плоскостных координат, которые определяют проекционный фрустум.
determinantДетерминант матрицы. (только для чтения)
inverseОбратная матрица этой матрицы. (только для чтения)
isIdentityПроверяет, является ли это матрицей идентификации. (Только для чтения)
lossyScaleПопытки получить значение масштаба из матрицы. (только для чтения)
rotationПопытки получить кватернион вращения из этой матрицы.
это[int,int]Элемент доступа в [строка, столбец].
transposeВозвращает транспозицию этой матрицы (только для чтения).

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

Метод Описание
GetColumnПолучить столбец матрицы.
GetPositionПолучить вектор положения из матрицы.
GetRowВозвращает строку матрицы.
MultiplyPointПреобразует позицию по этой матрице (общая).
MultiplyPoint3x4Преобразует позицию по этой матрице (быстро).
MultiplyVectorПреобразует направление по этой матрице.
SetColumnЗадает столбец матрицы.
SetRowЗадает строку матрицы.
SetTRSУстанавливает эту матрицу как матрицу перемещения, вращения и масштабирования.
ToStringВозвращает форматированную строку для этого массива.
TransformPlaneВозвращает плоскость, преобразованную в пространстве.
ValidTRSПроверяет, является ли эта матрица действительной матрицей преобразования.

Статические методы

Метод Описание
FrustumЭта функция возвращает проекционную матрицу с просмотром фрустума, которая имеет близкую плоскость, определенную координатами, которые были переданы.
Inverse3DAffineВычисляет обратную матрицу 3D.
LookAtСоздайте матрицу "смотри на".
OrthoСоздайте ортогональную проекционную матрицу.
PerspectiveСоздайте матрицу перспективной проекции.
RotateСоздает матрицу вращения.
ScaleСоздает матрицу масштабирования.
TranslateСоздает матрицу перевода.
TRSСоздает матрицу перемещения, вращения и масштабирования.

Операторы

Оператор Описание
оператор *Умножает две матрицы.