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¶
|
||
|
||
|
Métodos¶
abs ( ) |
|
ceil ( ) |
|
cubic_interpolate ( Vector3 b, Vector3 pre_a, Vector3 post_b, float weight ) |
|
direction_to ( Vector3 b ) |
|
distance_squared_to ( Vector3 b ) |
|
distance_to ( Vector3 b ) |
|
floor ( ) |
|
inverse ( ) |
|
is_equal_approx ( Vector3 v ) |
|
is_normalized ( ) |
|
length ( ) |
|
length_squared ( ) |
|
limit_length ( float length=1.0 ) |
|
linear_interpolate ( Vector3 to, float weight ) |
|
max_axis ( ) |
|
min_axis ( ) |
|
move_toward ( Vector3 to, float delta ) |
|
normalized ( ) |
|
round ( ) |
|
sign ( ) |
|
signed_angle_to ( Vector3 to, Vector3 axis ) |
|
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¶
float x
Default |
|
El componente X del vector. También se puede acceder utilizando la posición del índice [0]
.
float y
Default |
|
El componente Y del vector. También se puede acceder usando la posición del índice [1]
.
float z
Default |
|
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.
Vector3 abs ( )
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.
Vector3 ceil ( )
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)
.
Vector3 floor ( )
Devuelve un nuevo vector con todos los componentes redondeados hacia abajo (hacia el infinito negativo).
Vector3 inverse ( )
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.
float length ( )
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
.
Vector3 normalized ( )
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.
Vector3 round ( )
Devuelve este vector con todos los componentes redondeados al entero más cercano, con los casos intermedios redondeados desde cero.
Vector3 sign ( )
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.