Vector3

Vector used for 3D math.

Descripción

3-element structure that can be used to represent positions in 3D space or any other pair of numeric values.

Note: In a boolean context, a Vector3 will evaluate to false if it's equal to Vector3(0, 0, 0). Otherwise, a Vector3 will always evaluate to true.

Tutoriales

Propiedades

float

x

0.0

float

y

0.0

float

z

0.0

Métodos

Vector3

Vector3 ( float x, float y, float z )

Vector3

abs ( )

float

angle_to ( Vector3 to )

Vector3

bounce ( Vector3 n )

Vector3

ceil ( )

Vector3

cross ( Vector3 b )

Vector3

cubic_interpolate ( Vector3 b, Vector3 pre_a, Vector3 post_b, float weight )

Vector3

direction_to ( Vector3 b )

float

distance_squared_to ( Vector3 b )

float

distance_to ( Vector3 b )

float

dot ( Vector3 b )

Vector3

floor ( )

Vector3

inverse ( )

bool

is_equal_approx ( Vector3 v )

bool

is_normalized ( )

float

length ( )

float

length_squared ( )

Vector3

limit_length ( float length=1.0 )

Vector3

linear_interpolate ( Vector3 to, float weight )

int

max_axis ( )

int

min_axis ( )

Vector3

move_toward ( Vector3 to, float delta )

Vector3

normalized ( )

Basis

outer ( Vector3 b )

Vector3

posmod ( float mod )

Vector3

posmodv ( Vector3 modv )

Vector3

project ( Vector3 b )

Vector3

reflect ( Vector3 n )

Vector3

rotated ( Vector3 axis, float phi )

Vector3

round ( )

Vector3

sign ( )

float

signed_angle_to ( Vector3 to, Vector3 axis )

Vector3

slerp ( Vector3 to, float weight )

Vector3

slide ( Vector3 n )

Vector3

snapped ( Vector3 by )

Basis

to_diagonal_matrix ( )

Constantes

  • AXIS_X = 0 --- Valor enumerado para el eje X. Devuelto por max_axis y min_axis.

  • AXIS_Y = 1 --- Valor enumerado para el eje Y. Devuelto por max_axis y min_axis.

  • AXIS_Z = 2 --- Valor enumerado para el eje Z. Devuelto por max_axis y min_axis.

  • ZERO = Vector3( 0, 0, 0 ) --- Vector cero, un vector con todos los componentes ajustados a 0.

  • ONE = Vector3( 1, 1, 1 ) --- Un vector, un vector con todos los componentes ajustados a 1.

  • INF = Vector3( inf, inf, inf ) --- Vector infinito, un vector con todos los componentes ajustados a @GDScript.INF.

  • LEFT = Vector3( -1, 0, 0 ) --- Vector de la unidad izquierda. Representa la dirección local de la izquierda y la dirección global del oeste.

  • RIGHT = Vector3( 1, 0, 0 ) --- Vector de la unidad derecha. Representa la dirección local de la derecha, y la dirección global del este.

  • UP = Vector3( 0, 1, 0 ) --- Vector de la unidad superior.

  • DOWN = Vector3( 0, -1, 0 ) --- Vector de la unidad inferior.

  • FORWARD = Vector3( 0, 0, -1 ) --- Vector de la unidad de adelante. Representa la dirección local de avance, y la dirección global del norte.

  • BACK = Vector3( 0, 0, 1 ) --- Vector de la unidad trasera. Representa la dirección local de la espalda, y la dirección global del sur.

Descripciones de Propiedades

Default

0.0

El componente X del vector. También se puede acceder utilizando la posición del índice [0].


Default

0.0

El componente Y del vector. También se puede acceder usando la posición del índice [1].


Default

0.0

El componente Z del vector. También se puede acceder usando la posición del índice [2].

Descripciones de Métodos

Returns a Vector3 with the given components.


Devuelve un nuevo vector con todos los componentes en valores absolutos (es decir, positivos).


Returns the unsigned minimum angle to the given vector, in radians.


Devuelve el vector "rebotado" de un plano definido por la normalidad dada.


Devuelve un nuevo vector con todos los componentes redondeados hacia arriba (hacia el infinito positivo).


Devuelve el producto vectorial de este vector y b.


Performs a cubic interpolation between vectors pre_a, a, b, post_b (a is current), by the given amount weight. weight is on the range of 0.0 to 1.0, representing the amount of interpolation.


Returns the normalized vector pointing from this vector to b. This is equivalent to using (b - a).normalized().


Devuelve la distancia cuadrada entre este vector y b.

Este método funciona más rápido que el distance_to, por lo que es preferible si necesitas comparar vectores o necesitas la distancia al cuadrado para alguna fórmula.


Devuelve la distancia entre este vector y b.


Devuelve el producto escalar de este vector y b. Esto puede ser usado para comparar el ángulo entre dos vectores. Por ejemplo, puede utilizarse para determinar si un enemigo está enfrentado al jugador.

El producto escalar será 0 para un ángulo recto (90 grados), mayor que 0 para ángulos más estrechos que 90 grados y menor que 0 para ángulos más amplios que 90 grados.

Cuando se utilizan vectores unitarios (normalizados), el resultado siempre estará entre -1.0 (ángulo de 180 grados) cuando los vectores estén orientados en direcciones opuestas, y 1.0 (ángulo de 0 grados) cuando los vectores estén alineados.

**Nota: ** a.dot(b) es equivalente a b.dot(a).


Devuelve un nuevo vector con todos los componentes redondeados hacia abajo (hacia el infinito negativo).


Devuelve el inverso del vector. Esto es lo mismo que Vector3( 1.0 / v.x, 1.0 / v.y, 1.0 / v.z ).


Devuelve true si este vector y v son aproximadamente iguales, ejecutando @GDScript.is_equal_approx en cada componente.


  • bool is_normalized ( )

Returns true if the vector is normalized, false otherwise.


Devuelve la longitud (magnitud) de este vector.


  • float length_squared ( )

Devuelve la longitud cuadrada (magnitud cuadrada) de este vector.

Este método funciona más rápido que el length, por lo que es preferible si necesitas comparar vectores o necesitas la distancia al cuadrado para alguna fórmula.


Devuelve el vector con una longitud máxima limitando su longitud a length.


Returns the result of the linear interpolation between this vector and to by amount t. weight is on the range of 0.0 to 1.0, representing the amount of interpolation.


  • int max_axis ( )

Devuelve el eje del mayor valor del vector. Ver las constantes AXIS_*. Si todos los componentes son iguales, este método devuelve AXIS_X.


  • int min_axis ( )

Devuelve el eje del valor más pequeño del vector. Ver las constantes AXIS_*. Si todos los componentes son iguales, este método devuelve AXIS_Z.


Mueve este vector hacia to por la cantidad fija de delta.


Devuelve el vector escalado a la longitud de la unidad. Equivalente a v / v.length().


Devuelve el producto exterior con b.


Devuelve un vector compuesto por el @GDScript.fposmod de los componentes de este vector y el mod.


Devuelve un vector compuesto por el @GDScript.fposmod de los componentes de este vector y los componentes del modv.


Devuelve el producto exterior con b.


Devuelve este vector reflejado desde un plano definido por la normalidad dada.


Gira este vector alrededor de un eje dado por phi radianes. El eje debe ser un vector normalizado.


Devuelve este vector con todos los componentes redondeados al entero más cercano, con los casos intermedios redondeados desde cero.


Returns a vector with each component set to one or negative one, depending on the signs of this vector's components. If a component is zero, it returns positive one.


Returns the signed angle to the given vector, in radians. The sign of the angle is positive in a counter-clockwise direction and negative in a clockwise direction when viewed from the side specified by the axis.


Returns the result of spherical linear interpolation between this vector and to, by amount weight. weight is on the range of 0.0 to 1.0, representing the amount of interpolation.

Note: Both vectors must be normalized.


Devuelve este vector deslizado a lo largo de un plano definido por la normalidad dada.


Devuelve este vector con cada componente ajustado al múltiplo más cercano de step. Esto también puede ser usado para redondear a un número arbitrario de decimales.


  • Basis to_diagonal_matrix ( )

Devuelve una matriz diagonal con el vector como diagonal principal.

Esto equivale a una Base sin rotación ni shearing y los componentes de este vector fijados como la escala.