Matrix4x4
struct in UnityEngine · UnityEngine.CoreModule
4x4 matrix, column-major like Unity (fields in memory order m00, m10, m20, m30, m01, ...). Projection helpers use OpenGL clip space. Verified against Unity in conformance/recordings/math_rotations.jsonl.
Constructors 1
Fields 16
float m00float m01float m02float m03float m10float m11float m12float m13float m20float m21float m22float m23float m30float m31float m32float m33Properties 9
float determinant { get; }static Matrix4x4 identity { get; }Matrix4x4 inverse { get; }The inverse, or the zero matrix if this matrix is singular.
bool isIdentity { get; }Vector3 lossyScale { get; }Lengths of the basis columns; X is negated for mirrored matrices.
Quaternion rotation { get; }The rotation part, with scale removed.
float this[int row, int column] { get; set; }float this[int index] { get; set; }Column-major index: row + column * 4.
Matrix4x4 transpose { get; }static Matrix4x4 zero { get; }Methods 22
Vector4 GetColumn(int index)int GetHashCode()Vector3 GetPosition()Vector4 GetRow(int index)static Matrix4x4 LookAt(Vector3 from, Vector3 to, Vector3 up)static Matrix4x4 LookAt(in Vector3 from, in Vector3 to, in Vector3 up)Object-to-world matrix at from facing to.
Vector3 MultiplyPoint(Vector3 point)Vector3 MultiplyPoint(in Vector3 point)Full projective transform: divides by w.
Vector3 MultiplyPoint3x4(Vector3 point)Vector3 MultiplyPoint3x4(in Vector3 point)Affine transform (ignores the projective row).
static Matrix4x4 Ortho(float left, float right, float bottom, float top, float zNear, float zFar)Orthographic projection (OpenGL clip space).
static Matrix4x4 Perspective(float fov, float aspect, float zNear, float zFar)Perspective projection (OpenGL clip space); fov is vertical, in degrees.
static Matrix4x4 Rotate(Quaternion q)static Matrix4x4 Rotate(in Quaternion q)void SetTRS(Vector3 pos, Quaternion q, Vector3 s)void SetTRS(in Vector3 pos, in Quaternion q, in Vector3 s)static Matrix4x4 TRS(Vector3 pos, Quaternion q, Vector3 s)static Matrix4x4 TRS(in Vector3 pos, in Quaternion q, in Vector3 s)string ToString()string ToString(string? format)string ToString(string? format, IFormatProvider? formatProvider)Rows separated by newlines, elements by tabs.
Operators 3
Not in Tassix yet 5
Frustum Inverse3DAffine TransformPlane ValidTRS decomposeProjection