Transform
3×4 matrix (3 rows, 4 columns) used for 3D linear transformations. It can represent transformations such as translation, rotation, or scaling. It consists of a (first 3 columns) and a Vector3 for the (last column).
For more information, read the “Matrices and transforms” documentation article.
Tutorials
Methods
IDENTITY = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 ) —-
Transform
with no translation, rotation or scaling applied. When applied to other data structures, performs no transformation.FLIP_X = Transform( -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 ) —-
Transform
with mirroring applied perpendicular to the YZ plane.FLIP_Y = Transform( 1, 0, 0, 0, -1, 0, 0, 0, 1, 0, 0, 0 ) —-
Transform
with mirroring applied perpendicular to the XZ plane.
Property Descriptions
- basis
The basis is a matrix containing 3 Vector3 as its columns: X axis, Y axis, and Z axis. These vectors can be interpreted as the basis vectors of local coordinate system traveling with the object.
- origin
The translation offset of the transform (column 3, the fourth column). Equivalent to array index .
Constructs a Transform from four Vector3 values (matrix columns). Each axis corresponds to local basis vectors (some of which may be scaled).
- Transform ( Basis basis, origin )
Constructs a Transform from a Basis and .
- Transform Transform ( from )
Constructs a Transform from a Transform2D.
- Transform ( Quat from )
Constructs a Transform from a . The origin will be Vector3(0, 0, 0)
.
Constructs the Transform from a Basis. The origin will be Vector3(0, 0, 0).
- affine_inverse ( )
Returns the inverse of the transform, under the assumption that the transformation is composed of rotation, scaling and translation.
Returns a transform interpolated between this transform and another by a given weight
(on the range of 0.0 to 1.0).
- inverse ( )
Returns the inverse of the transform, under the assumption that the transformation is composed of rotation and translation (no scaling, use affine_inverse for transforms with scaling).
- is_equal_approx ( Transform transform )
Returns true
if this transform and transform
are approximately equal, by calling is_equal_approx
on each component.
- looking_at ( Vector3 target, up )
Returns a copy of the transform rotated such that its -Z axis points towards the target
position.
The transform will first be rotated around the given up
vector, and then fully aligned to the target by a further rotation around an axis perpendicular to both the and up
vectors.
Operations take place in global space.
- Transform orthonormalized ( )
Returns the transform with the basis orthogonal (90 degrees), and normalized axis vectors (scale of 1 or -1).
- rotated ( Vector3 axis, angle )
Returns a copy of the transform rotated around the given axis
by the given angle
(in radians), using matrix multiplication. The axis
must be a normalized vector.
- Transform scaled ( scale )
Returns a copy of the transform with its basis and origin scaled by the given scale
factor, using matrix multiplication.
- Transform translated ( offset )
Returns a copy of the transform translated by the given offset
, relative to the transform’s basis vectors.
Unlike rotated and , this does not use matrix multiplication.
- Variant xform ( v )
Transforms the given Vector3, , AABB, or by this transform.
- Variant xform_inv ( v )