Fundamentals
Core
Master
Shaders
Transformaciones
Meshes pueden ser transformados en el espacio 3D utilizando las propiedades position
, rotation
y scale
. Estas propiedades son vectores, lo que significa que son arrays de n煤meros.
Empecemos con un poco de teor铆a.
Ejes
En un espacio 3D, hay tres ejes: x
, y
y z
. Cada eje es una l铆nea que se extiende infinitamente en ambas direcciones.
Los ejes son perpendiculares entre s铆, lo que significa que forman un 谩ngulo recto en su intersecci贸n.
Con Three.js los ejes se definen de la siguiente manera:
x
: apunta hacia la derechay
: apunta hacia arribaz
: apunta hacia el espectador
Vector3
Vectores se utilizan para representar puntos en el espacio 3D. Est谩n compuestos por tres n煤meros, uno para cada eje (x, y, z).
Con Three.js puedes crear vectores usando la clase Vector3
. Esta clase es parte del paquete three
, por lo que puedes importarla de esta manera:
import { Vector3 } from "three";
Puedes crear un vector pasando las coordenadas x, y, y z al constructor de Vector3
:
const vector = new Vector3(1, 2, 3);
Threejs Vector 3 documentation
Posici贸n
La propiedad position
es un vector 3D, pero gracias a r3f puedes pasarla como un array de n煤meros. Internamente, r3f convertir谩 el array a un objeto Vector3
y reaccionar谩 a los cambios. La mayor铆a de las propiedades en r3f funcionan de esta manera.
El valor por defecto para la propiedad position
es [0, 0, 0]
:
<mesh position={[0, 0, 0]} />
Descarga el starter pack y ejecuta yarn
para instalar las dependencias y yarn dev
para iniciar el servidor de desarrollo.
Deber铆as ver un cubo verde en el centro de la pantalla:
De hecho, hay 3 cubos en la misma posici贸n exacta.
Vamos a jugar con las coordenadas x
, y
y z
para mover los cubos.
Intentemos alinearlos en los diferentes ejes.
End of lesson preview
To get access to the entire lesson, you need to purchase the course.