Vector3

Mostrar obsoleto

*Este contenido se traduce usando la IA (Beta) y puede contener errores. Para ver esta página en inglés, haz clic en aquí.

El tipo de datos Vector3 representa un vector en el espacio 3D, generalmente utilizado como un punto en el espacio 3D o las dimensiones de un prisma rectangular. Vector3 soporta operaciones aritméticas básicas basadas en componentes (suma, diferencia, producto y cociente) y estas operaciones se pueden aplicar en el lado izquierdo o derecho a otro Vector3 o a un número.También presenta métodos para operaciones vectoriales comunes, como Cross() y Dot() .

Alternativamente a Vector3, considere utilizar los métodos y propiedades de la biblioteca vector.

Algunos usos de ejemplo de Vector3 son el Position , Rotation y Size de partes, por ejemplo:


local Workspace = game:GetService("Workspace")
local part = Workspace.Part
part.Position = part.Position + Vector3.new(5, 2, 10) -- Move part by (5, 2, 10)

Vector3 también se usa comúnmente al construir tipos de datos 3D más complejos como CFrame.Muchos de los métodos de estos tipos de datos usarán un Vector3 dentro de sus parámetros, como CFrame:PointToObjectSpace() .

Resumen

Constructores

Propiedades

Métodos

  • Devuelve un nuevo vector de los valores absolutos de los componentes del original.

  • Devuelve un nuevo vector desde el techo de los componentes del original.

  • Devuelve un nuevo vector desde el suelo de los componentes del original.

  • Devuelve un nuevo vector desde la firma (-1, 0, o 1) de los componentes del original.

  • Devuelve el producto cruzado de los dos vectores.

  • Angle(other : Vector3,axis : Vector3):number

    Devuelve el ángulo en radianes entre los dos vectores. Si proporciona un eje, determina el signo del ángulo.

  • Dot(other : Vector3):number

    Devuelve un producto escalar de los dos vectores.

  • FuzzyEq(other : Vector3,epsilon : number):boolean

    Devuelve true si la diferencia entre la magnitud cuadrada de los dos vectores está dentro de epsilon .epsilon se escala en relación con la magnitud, en lugar de un epsilon absoluto.

  • Lerp(goal : Vector3,alpha : number):Vector3

    Devuelve una línea Vector3 linealmente interpolada entre este Vector3 y el objetivo dado por la alfa dada.

  • Max(vector : Vector3):Vector3

    Devuelve un Vector3 con cada componente como el más alto entre los respectivos componentes de ambos objetos proporcionados Vector3.

  • Min(vector : Vector3):Vector3

    Devuelve un Vector3 con cada componente como el más bajo entre los respectivos componentes de ambos objetos proporcionados Vector3.

Operaciones de matemáticas

  • Produce un Vector3 agregando cada componente del primer vector al componente correspondiente del segundo.

  • Produce un Vector3 al restar cada componente del segundo vector del componente correspondiente del primero.

  • Produce un Vector3 multiplicando cada componente del primer vector por el componente correspondiente del segundo.

  • Produce un Vector3 dividiendo cada componente del primer vector por el componente correspondiente del segundo.

  • Produce un Vector3 por piso dividiendo cada componente del primer vector por el componente correspondiente del segundo.

  • Produce un Vector3 multiplicando cada componente del vector proporcionado por el número.

  • Produce un Vector3 dividiendo cada componente del vector proporcionado por el número.

  • Produce un Vector3 por piso dividiendo cada componente del vector proporcionado por el número.

Constructores

new

Devuelve un nuevo Vector3 usando los componentes x, y y z dados.

Parámetros

Valor predeterminado: 0
Valor predeterminado: 0
Valor predeterminado: 0

FromNormalId

Devuelve un nuevo Vector3 en la dirección dada.

Parámetros

FromAxis

Devuelve un nuevo Vector3 para el eje dado.

Parámetros

axis: Enum.Axis

Propiedades

Un Vector3 con una magnitud de cero.

Este miembro de la API es una constante y debe accederse a través del Vector3 en lugar de un objeto individual Vector3.


print(Vector3.zero) --> 0, 0, 0

Un Vector3 con un valor de 1 en cada eje.

Este miembro de la API es una constante y debe accederse a través del Vector3 en lugar de un objeto individual Vector3.


print(Vector3.one) --> 1, 1, 1

xAxis

Un Vector3 con un valor de 1 en el eje X.

Este miembro de la API es una constante y debe accederse a través del Vector3 en lugar de un objeto individual Vector3.


print(Vector3.xAxis) --> 1, 0, 0

yAxis

Un Vector3 con un valor de 1 en el eje Y.

Este miembro de la API es una constante y debe accederse a través del Vector3 en lugar de un objeto individual Vector3.


print(Vector3.yAxis) --> 0, 1, 0

zAxis

Un Vector3 con un valor de 1 en el eje Z.

Este miembro de la API es una constante y debe accederse a través del Vector3 en lugar de un objeto individual Vector3.


print(Vector3.zAxis) --> 0, 0, 1

La coordenada x del Vector3.

La coordenada y del Vector3.

La coordenada z del Vector3.

Magnitude

La longitud del Vector3.

Una copia normalizada de la Vector3 - una que tiene la misma dirección que el original pero una magnitud de 1.

Métodos

Devuelve un nuevo vector de los valores absolutos de los componentes del original. Por ejemplo, un vector de (-2, 4, -6) devuelve un vector de (2, 4, 6) .

Devuelve

Devuelve un nuevo vector desde el techo de los componentes del original. Por ejemplo, un vector de (-2.6, 5.1, 8.8) devuelve un vector de (-2, 6, 9) .

Devuelve

Floor

Devuelve un nuevo vector desde el piso de los componentes del original. Por ejemplo, un vector de (-2.6, 5.1, 8.8) devuelve un vector de (-3, 5, 8) .

Devuelve

Devuelve un nuevo vector desde la firma (-1, 0, o 1) de los componentes del original. Por ejemplo, un vector de (-2.6, 5.1, 0) devuelve un vector de (-1, 1, 0) .

Devuelve

Cross

Devuelve el producto cruzado de los dos vectores.

Parámetros

other: Vector3

Devuelve

Angle

Devuelve el ángulo en radianes entre los dos vectores. Si proporciona un eje, determina el signo del ángulo.

Parámetros

other: Vector3
axis: Vector3
Valor predeterminado: nil

Devuelve

Devuelve un producto escalar de los dos vectores.

Parámetros

other: Vector3

Devuelve

FuzzyEq

Devuelve true si la diferencia entre la magnitud cuadrada de los dos vectores está dentro de epsilon .epsilon se escala en relación con la magnitud, en lugar de un epsilon absoluto.

Parámetros

other: Vector3
epsilon: number
Valor predeterminado: 0.00001 aka 1e-5

Devuelve

Devuelve una línea linealmente interpolada entre esta y la dada por la fracción .

Nota: el valor de alpha es no limitado al rango [0,1].

Parámetros

goal: Vector3
alpha: number

Devuelve

Devuelve un Vector3 con cada componente como el más alto entre los respectivos componentes de ambos objetos proporcionados Vector3.


local a = Vector3.new(1, 2, 1)
local b = Vector3.new(2, 1, 2)
print(a:Max(b)) --> Vector3.new(2, 2, 2)

Parámetros

vector: Vector3

Devuelve

Devuelve un Vector3 con cada componente como el más bajo entre los respectivos componentes de ambos objetos proporcionados Vector3.


local a = Vector3.new(1, 2, 1)
local b = Vector3.new(2, 1, 2)
print(a:Min(b)) --> Vector3.new(1, 1, 1)

Parámetros

vector: Vector3

Devuelve

Operaciones de matemáticas


Produce un Vector3 agregando cada componente del primer vector al componente correspondiente del segundo.


Produce un Vector3 al restar cada componente del segundo vector del componente correspondiente del primero.


Produce un Vector3 multiplicando cada componente del primer vector por el componente correspondiente del segundo.


Produce un Vector3 dividiendo cada componente del primer vector por el componente correspondiente del segundo.


Produce un Vector3 por piso dividiendo cada componente del primer vector por el componente correspondiente del segundo.


Produce un Vector3 multiplicando cada componente del vector proporcionado por el número.


Produce un Vector3 dividiendo cada componente del vector proporcionado por el número.


Produce un Vector3 por piso dividiendo cada componente del vector proporcionado por el número.