For the complete documentation index, see llms.txt. This page is also available as Markdown.

Tipos especiales

Aprende qué special types existen, incluyendo Vector, Quaternions y más.

Vector3

Decentraland usa vector3 datos para representar rutas, puntos en el espacio y direcciones. Los vectores también pueden usarse para definir orientaciones de rotación, como una alternativa más sencilla a quaternions. Un objeto Vector3 contiene valores numéricos para cada una de las x, y, y z eje.

const myVector: Vector3 = { x: 8, y: 1, z: 8 }

El Vector3 namespace contiene una serie de métodos útiles que puedes llamar para evitar tener que ocuparte de la mayoría de las operaciones matemáticas con vectores. Escribe Vector3., y VS Studio mostrará un dropdown con todas las funciones disponibles.

A continuación hay unas pocas líneas que muestran la sintaxis de algunas operaciones básicas con vectores.

// Crear un objeto vector
let myVector = Vector3.create(3, 1, 5)

// Sintaxis alternativa para crear un objeto vector
let myOtherVector: Vector3 = { x: 8, y: 1, z: 8 }

// Editar uno de sus valores
myVector.x = 5

// Llamar funciones del namespace Vector3,
// Todas estas funciones requieren pasar objetos Vector3 en sus parámetros

let normalizedVector = Vector3.normalize(myVector)

let distance = Vector3.distance(myVector, myOtherVector)

let midPoint = Vector3.lerp(myVector, myOtherVector, 0.5)

A menudo se requieren objetos Vector3 en los campos de varios Components. Por ejemplo, el Transform Component contiene Vector3 valores para position y scale de la entidad.

Para crear un custom component con parámetros que requieren valores Vector3, establece el tipo de estos parámetros como Schema.Vector3.

Atajos para escribir vectores de dirección

Existen los siguientes atajos para definir vectores genéricos:

  • Vector3.Zero() devuelve (0, 0, 0)

  • Vector3.Up() devuelve (0, 1, 0)

  • Vector3.Down() devuelve (0, -1, 0)

  • Vector3.Left() devuelve (-1, 0, 0)

  • Vector3.Right() devuelve (1, 0, 0)

  • Vector3.Forward() devuelve (0, 0, 1)

  • Vector3.Backward() devuelve (0, 0, -1)

Quaternions

Los Quaternions se usan para almacenar información de rotación para el componente Transform. Un Quaternion está compuesto por cuatro valores numéricos entre -1 y 1: x, y, z, w.

Los Quaternions son diferentes de Euler ángulos, la notación más común x, y y z la notación con números que van de 0 a 360 con la que la mayoría de las personas está familiarizada. El engine expresa todas las rotaciones como Quaternions, por lo que tiene sentido evitar cálculos para convertir hacia y desde Euler siempre que sea posible.

El Quaternion namespace contiene una serie de métodos útiles que puedes llamar para evitar tener que ocuparte de muchas operaciones matemáticas. Escribe Quaternion., y VS Studio mostrará un dropdown con todas las funciones disponibles.

A continuación hay unas pocas líneas que muestran la sintaxis de algunas operaciones básicas con Quaternions.

Dado que es mucho más fácil pensar en términos de grados Euler, el SDK incluye un par de funciones para convertir hacia y desde Quaternions y Euler.

💡 Consejo: Evita ejecutar estas conversiones como parte de lógica recurrente dentro de un system, que se ejecuta en cada tick, ya que eso puede resultar costoso. Estas conversiones son principalmente útiles para operaciones de una sola vez, como establecer la rotación de una nueva entity.

A menudo se requieren objetos Quaternion en los campos de los components. Por ejemplo, el Transform Component contiene Quaternion valores de rotación de la entidad.

Para crear un custom component con parámetros que requieren valores Quaternion, establece el tipo de estos parámetros como Schema.Quaternion.

Escalares

Un escalar no es más que un número. Por esa razón, no tiene mucho sentido instanciar un Scalar object para almacenar datos, ya que puedes hacer lo mismo con un número. Sin embargo, las funciones en el Scalar namespace exponen varias funciones útiles (similares a las del Vector3 namespace), que pueden usarse con números.

Última actualización