Creando tu primera escena 3D con Three.js
En los últimos años, los navegadores modernos han adquirido potentes funciones a las que se puede acceder directamente desde JavaScript. Puede agregar fácilmente video y audio con etiquetas HTML5 y crear componentes interactivos mediante el uso de HTML5 Canvas. Junto con HTML5, los navegadores modernos también admiten WebGL. Con WebGL, puede utilizar directamente los recursos de procesamiento de su tarjeta gráfica y crear gráficos de computadora 2D y 3D de alto rendimiento. Usar WebGL directamente desde JavaScript para crear y animar escenas 3D es un proceso muy complejo, detallado y propenso a errores. Three.js es una biblioteca que facilita mucho esto. La siguiente lista muestra algunas de las cosas que son muy fáciles de hacer con Three.js:
- Crea geometrías 3D simples y complejas y renderízalas en cualquier navegador
- Animar y mover objetos a través de una escena 3D
- Aplica texturas y materiales a tus objetos
- Utilice diferentes fuentes de luz para iluminar la escena.
- Utilice modelos de software de modelado 3D y exporte los modelos generados a estos programas
- Añade efectos de posprocesamiento avanzados a tu escena 3D
- Crear y trabajar con sombreadores personalizados
- Crear, visualizar y animar nubes de puntos
- Crea escenas de realidad virtual (VR) y realidad aumentada (AR)
Con un par de líneas de JavaScript (o TypeScript, como veremos más adelante en este libro), puedes crear cualquier cosa, desde modelos 3D simples hasta escenas fotorrealistas, todo lo cual se renderiza en tiempo real en el navegador. Por ejemplo, la Figura 1.1 muestra un ejemplo de lo que se puede hacer con Three.js (puedes ver la animación tú mismo abriendo https://threejs.org/examples/webgl_animation_keyframes.html en tu navegador):
En este capítulo, nos sumergiremos directamente en Three.js y crearemos un par de ejemplos que te mostrarán cómo funciona Three.js y que puedes usar para experimentar y conocer un poco Three.js. No profundizaremos en todos los detalles técnicos todavía; aprenderás sobre ellos en los siguientes capítulos. Al final de este capítulo, podrás crear una escena y ejecutar y explorar todos los ejemplos de este libro.
Comenzaremos este libro con una breve introducción a Three.js y luego pasaremos rápidamente a los primeros ejemplos y muestras de código. Antes de comenzar, veamos rápidamente los navegadores más importantes que existen y su compatibilidad con WebGL (y WebGPU).
En este primer capítulo, crearás directamente una escena 3D y podrás ejecutarla en un escritorio o dispositivo móvil. Explicaremos los conceptos básicos de Three.js y, si hay temas más avanzados, mencionaremos en qué capítulo los explicaremos con más detalle. En este capítulo, crearemos dos escenas diferentes. La primera mostrará una geometría básica renderizada en Three.js, como se muestra en la siguiente figura:
A continuación, le mostraremos rápidamente cómo cargar modelos externos y lo fácil que es crear escenas de aspecto realista. El resultado del segundo ejemplo se verá así:
Antes de comenzar a trabajar con estos ejemplos, en las siguientes secciones veremos las herramientas que necesitas para trabajar fácilmente con Three.js y cómo puedes descargar los ejemplos que se muestran en este libro.
En este capítulo cubriremos los siguientes temas:
- Requisitos para utilizar Three.js
- Descargar el código fuente y los ejemplos utilizados en este libro
- Probando y experimentando con los ejemplos
- Representación y visualización de un objeto 3D
- Presentamos un par de bibliotecas auxiliares para estadísticas y control de la escena