/Godot 3.1

# Transform

Category: Built-In Types

## Brief Description

3D Transformation. 3x4 matrix.

## Methods

 Transform Transform ( Vector3 x_axis, Vector3 y_axis, Vector3 z_axis, Vector3 origin ) Transform Transform ( Basis basis, Vector3 origin ) Transform Transform ( Transform2D from ) Transform Transform ( Quat from ) Transform Transform ( Basis from ) Transform affine_inverse ( ) Transform interpolate_with ( Transform transform, float weight ) Transform inverse ( ) Transform looking_at ( Vector3 target, Vector3 up ) Transform orthonormalized ( ) Transform rotated ( Vector3 axis, float phi ) Transform scaled ( Vector3 scale ) Transform translated ( Vector3 ofs ) Variant xform ( Variant v ) Variant xform_inv ( Variant v )

## Constants

• 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, IDENTITY 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.
• FLIP_Z = Transform( 1, 0, 0, 0, 1, 0, 0, 0, -1, 0, 0, 0 )Transform with mirroring applied perpendicular to the XY plane.

## Description

Represents one or many transformations in 3D space such as translation, rotation, or scaling. It consists of a Basis “basis” and an Vector3 “origin”. It is similar to a 3x4 matrix.

## Property Descriptions

### Basis 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.

### Vector3 origin

The translation offset of the transform.

## Method Descriptions

### Transform Transform ( Vector3 x_axis, Vector3 y_axis, Vector3 z_axis, Vector3 origin )

Constructs the Transform from four Vector3. Each axis corresponds to local basis vectors (some of which may be scaled).

Constructs the Transform from a Basis and Vector3.

Constructs the Transform from a Transform2D.

Constructs the Transform from a Quat. The origin will be Vector3(0, 0, 0).

Constructs the Transform from a Basis. The origin will be Vector3(0, 0, 0).

### Transform affine_inverse ( )

Returns the inverse of the transform, under the assumption that the transformation is composed of rotation, scaling and translation.

### Transform interpolate_with ( Transform transform, float weight )

Interpolates the transform to other Transform by weight amount (0-1).

### Transform 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).

### Transform looking_at ( Vector3 target, Vector3 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 `target` and `up` vectors.

Operations take place in global space.

### Transform orthonormalized ( )

Returns the transform with the basis orthogonal (90 degrees), and normalized axis vectors.

### Transform rotated ( Vector3 axis, float phi )

Rotates the transform around given axis by phi. The axis must be a normalized vector.

### Transform scaled ( Vector3 scale )

Scales the transform by the specified 3D scaling factors.

### Transform translated ( Vector3 ofs )

Translates the transform by the specified offset.

### Variant xform ( Variant v )

Transforms the given Vector3, Plane, or AABB by this transform.

### Variant xform_inv ( Variant v )

Inverse-transforms the given Vector3, Plane, or AABB by this transform.

© 2014–2019 Juan Linietsky, Ariel Manzur, Godot Engine contributors