Vector3

Mostrar obsoleto

*Este conteúdo é traduzido por IA (Beta) e pode conter erros. Para ver a página em inglês, clique aqui.

O tipo de dado Vector3 representa um vetor no espaço 3D, geralmente usado como um ponto no espaço 3D ou as dimensões de um prisma retangular.Vector3 suporta operações aritméticas básicas baseadas em componentes (soma, diferença, produto e quotiente) e essas operações podem ser aplicadas no lado esquerdo ou direito a outro Vector3 ou um número.Ele também possui métodos para operações comuns de vetores, como Cross() e Dot().

Alternativamente a Vector3, considere usar os métodos e propriedades da biblioteca vector.

Alguns usos de exemplo de Vector3 são o Position , Rotation e Size de peças, por exemplo:


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 também é comumente usado ao construir tipos de dados 3D mais complexos, como CFrame.Muitos dos métodos desses tipos de dados usarão um Vector3 dentro de seus parâmetros, como CFrame:PointToObjectSpace() .

Resumo

Construtores

Propriedades

Métodos

  • Retorna um novo vetor a partir dos valores absolutos dos componentes do original.

  • Retorna um novo vetor do teto dos componentes do original.

  • Retorna um novo vetor do andar dos componentes do original.

  • Retorna um novo vetor a partir da assinatura (-1, 0 ou 1) dos componentes do original.

  • Retorna o produto cruzado dos dois vetores.

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

    Retorna o ângulo em radianos entre os dois vetores. Se você fornecer um eixo, ele determina o sinal do ângulo.

  • Dot(other : Vector3):number

    Retorna um produto escalar de ponto dos dois vetores.

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

    Retorna true se a diferença entre a magnitude quadrada dos dois vetores estiver dentro de epsilon .epsilon é escalonado em relação à magnitude, em vez de um epsilon absoluto.

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

    Retorna uma linha Vector3 linearmente interpolada entre este Vector3 e o objetivo dado pela alfa dada.

  • Max(vector : Vector3):Vector3

    Retorna um Vector3 com cada componente como o mais alto entre os respectivos componentes dos objetos fornecidos Vector3 .

  • Min(vector : Vector3):Vector3

    Retorna um Vector3 com cada componente como o mais baixo entre os respectivos componentes dos objetos fornecidos Vector3 .

Construtores

new

Parâmetros

Valor Padrão: 0
Valor Padrão: 0
Valor Padrão: 0

FromNormalId

Parâmetros

FromAxis

Parâmetros

axis: Enum.Axis

Propriedades

Um Vector3 com uma magnitude de zero.

Este membro da API é uma constante e deve ser acessado através do Vector3 em oposição a um Objetoindividual Vector3.


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

Um Vector3 com um valor de 1 em cada eixo.

Este membro da API é uma constante e deve ser acessado através do Vector3 em oposição a um Objetoindividual Vector3.


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

xAxis

Um Vector3 com um valor de 1 no eixo X.

Este membro da API é uma constante e deve ser acessado através do Vector3 em oposição a um Objetoindividual Vector3.


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

yAxis

Um Vector3 com um valor de 1 no eixo Y.

Este membro da API é uma constante e deve ser acessado através do Vector3 em oposição a um Objetoindividual Vector3.


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

zAxis

Um Vector3 com um valor de 1 no eixo Z.

Este membro da API é uma constante e deve ser acessado através do Vector3 em oposição a um Objetoindividual Vector3.


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

A coordenada x do Vector3.

O y-coordenada do Vector3.

A coordenada z do Vector3.

Magnitude

O comprimento do Vector3.

Uma cópia normalizada do Vector3 - uma que tem a mesma direção do original, mas uma magnitude de 1.

Métodos

Retorna um novo vetor a partir dos valores absolutos dos componentes do original. Por exemplo, um vetor de (-2, 4, -6) retorna um vetor de (2, 4, 6) .

Devolução

Retorna um novo vetor do teto dos componentes do original. Por exemplo, um vetor de (-2.6, 5.1, 8.8) retorna um vetor de (-2, 6, 9) .

Devolução

Floor

Retorna um novo vetor a partir do andar dos componentes do original. Por exemplo, um vetor de (-2.6, 5.1, 8.8) retorna um vetor de (-3, 5, 8) .

Devolução

Retorna um novo vetor a partir da assinatura (-1, 0 ou 1) dos componentes do original. Por exemplo, um vetor de (-2.6, 5.1, 0) retorna um vetor de (-1, 1, 0) .

Devolução

Cross

Retorna o produto cruzado dos dois vetores.

Parâmetros

other: Vector3

Devolução

Angle

Retorna o ângulo em radianos entre os dois vetores. Se você fornecer um eixo, ele determina o sinal do ângulo.

Parâmetros

other: Vector3
axis: Vector3
Valor Padrão: nil

Devolução

Retorna um produto escalar de ponto dos dois vetores.

Parâmetros

other: Vector3

Devolução

FuzzyEq

Retorna true se a diferença entre a magnitude quadrada dos dois vetores estiver dentro de epsilon .epsilon é escalonado em relação à magnitude, em vez de um epsilon absoluto.

Parâmetros

other: Vector3
epsilon: number
Valor Padrão: 0.00001 aka 1e-5

Devolução

Retorna uma linha Vector3 linearmente interpolada entre esta Vector3 e a dada goal``Datatype.Vector3 pela fração alpha .

Nota: o valor alpha é não limitado ao alcance [0, 1].

Parâmetros

goal: Vector3
alpha: number

Devolução

Retorna um Vector3 com cada componente como o mais alto entre os respectivos componentes dos objetos fornecidos 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

Devolução

Retorna um Vector3 com cada componente como o mais baixo entre os respectivos componentes dos objetos fornecidos 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

Devolução

Operações matemáticas