Transform

Transformación 3D (matriz 3×4).

Descripción

Matriz de 3×4 (3 filas, 4 columnas) usada para transformaciones lineales 3D. Puede representar transformaciones como la traslación, la rotación o el escalado. Consta de una basis (3 primeras columnas) y un Vector3 para el origin (última columna).

Para más información, lea el artículo de documentación "Matrices y transformaciones".

Tutoriales

Propiedades

Basis

basis

Basis( 1, 0, 0, 0, 1, 0, 0, 0, 1 )

Vector3

origin

Vector3( 0, 0, 0 )

Métodos

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 ( )

bool

is_equal_approx ( Transform transform )

Transform

looking_at ( Vector3 target, Vector3 up )

Transform

orthonormalized ( )

Transform

rotated ( Vector3 axis, float phi )

Transform

scaled ( Vector3 scale )

Transform

translated ( Vector3 offset )

Variant

xform ( Variant v )

Variant

xform_inv ( Variant v )

Constantes

  • IDENTITY = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 ) --- Transform sin aplicar traslación, rotación o escalamiento. Cuando se aplica a otras estructuras de datos, IDENTITY no realiza ninguna transformación.

  • FLIP_X = Transform( -1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 ) --- Transform con el espejo aplicado perpendicularmente al plano YZ.

  • FLIP_Y = Transform( 1, 0, 0, 0, -1, 0, 0, 0, 1, 0, 0, 0 ) --- Transform con el espejo aplicado perpendicularmente al plano XZ.

  • FLIP_Z = Transform( 1, 0, 0, 0, 1, 0, 0, 0, -1, 0, 0, 0 ) --- Transform con el espejo aplicado perpendicularmente al plano XY.

Descripciones de Propiedades

Default

Basis( 1, 0, 0, 0, 1, 0, 0, 0, 1 )

La base es una matriz que contiene 3 Vector3 como sus columnas: Eje X, eje Y y eje Z. Estos vectores pueden ser interpretados como los vectores base del sistema de coordenadas locales que viajan con el objeto.


Default

Vector3( 0, 0, 0 )

El desplazamiento de la translación en la transformada (columna 3, la cuarta columna). Equivalente al índice del array 3.

Descripciones de Métodos

Construye una Transformada a partir de cuatro valores Vector3 (columnas de la matriz). Cada eje corresponde a vectores de base local (algunos de los cuales pueden ser escalados).


Construye una transformada a partir de un Basis y un Vector3.


Construye una Transformada a partir de un Transform2D.


Construye una Transformada a partir de un Quat. El origen será Vector3(0, 0, 0).


Construye la Transformada desde un Basis. El origen será el Vector3(0, 0, 0).


Devuelve el inverso de la transformada, bajo el supuesto de que la transformación se compone de rotación, escalado y traslación.


Interpola la transformada a otra Transformación por cantidad de pesos (en el rango de 0.0 a 1.0).


Devuelve el inverso de la transformada, bajo el supuesto de que la transformación se compone de rotación y traslación (sin escalamiento, use affine_inverse para las transformadas con escalamiento).


Devuelve true si esta transformada y transform son aproximadamente iguales, llamando a is_equal_approx en cada componente.


Devuelve una copia de la transformación girada de tal manera que su eje -Z apunta hacia la posición target.

La transformación se girará primero alrededor del vector up dado, y luego se alineará completamente con el objetivo mediante una nueva rotación alrededor de un eje perpendicular tanto al vector target como al up.

Las operaciones tienen lugar en el espacio global.


Devuelve la transformada con la base ortogonal (90 grados), y los vectores del eje normalizado.


Gira la transformación alrededor del eje dado por el ángulo dado (en radianes), usando la multiplicación de la matriz. El eje debe ser un vector normalizado.


Base de escala y origen de la transformación por el factor de escala dado, utilizando la multiplicación de la matriz.


Traduce la transformación por el desplazamiento dado, relativo a los vectores base de la transformación.

A diferencia de rotated y scaled, éste no utiliza la multiplicación de la matriz.


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


Inverse-transforms the given Vector3, Plane, AABB, or PoolVector3Array by this transform, under the assumption that the transformation is composed of rotation and translation (no scaling). Equivalent to calling inverse().xform(v) on this transform. For affine transformations (e.g. with scaling) see affine_inverse method.