05 Capítulo 5 · Lección 5

Geometrías

Redactado por
Author Sebastian V.
Fecha de publicación

29/01/2026

Tiempo de lectura

6 min

Tema

Three.js

¿Qué son las Geometrías?

En el mundo real, los objetos tienen forma porque están hechos de materia continua. En 3D, todo objeto es una ilusión creada al unir puntos en el espacio. Las Geometries (Geometrías) definen la estructura matemática, el esqueleto de tu objeto.

Ese esqueleto está compuesto de Vértices (los puntos en el espacio) y Caras (los triángulos que se forman al conectar tres vértices). Entre más vértices tenga una geometría, más suave y detallada será, pero también le costará más esfuerzo al ordenador calcularla.

Las Geometrías Primitivas

Al igual que HTML te da etiquetas predefinidas (div, p, h1), Three.js te regala formas básicas listas para usar, llamadas primitivas. Las más comunes son:

  • BoxGeometry: Un cubo o prisma rectangular. Ideal para cajas, edificios o píxeles 3D.
  • SphereGeometry: Una esfera. Perfecta para planetas, partículas o gotas.
  • PlaneGeometry: Un plano 2D. Se usa muchísimo para simular suelos, paredes o para proyectar imágenes encima como tarjetas interactivas.
  • TorusGeometry: Un donut gigante. Muy usado en motion design abstracto.

Segmentos: El coste de la curva

Cuando creas una SphereGeometry, debes indicarle su radio, pero también sus segmentos de ancho y alto. Una esfera con 8x8 segmentos se verá como un diamante rudo (low-poly). Una esfera con 64x64 se verá perfectamente redonda, pero requiere mucho procesamiento. El secreto de un buen desarrollo 3D es usar el menor número de segmentos posible para engañar al ojo.

Consejo profesional

Cuando crees efectos de cientos de partículas, NO uses SphereGeometry. Usa una geometría súper básica (como un plano o un triángulo) y aplica una textura de círculo con transparencia. Ahorrarás miles de vértices por objeto.

Explorando Primitivas

> _
// BoxGeometry(width, height, depth)
const box = new THREE.BoxGeometry(1, 1, 1);

// PlaneGeometry(width, height, widthSegments, heightSegments)
const plane = new THREE.PlaneGeometry(2, 2);

// SphereGeometry(radius, widthSegments, heightSegments)
// ¡Cuidado! Valores mayores a 32 consumen más recursos.
const sphere = new THREE.SphereGeometry(1, 32, 32);

// TorusGeometry(radius, tube, radialSegments, tubularSegments)
const donut = new THREE.TorusGeometry(1, 0.4, 16, 100);
> _

Diferentes geometrías rotando. (En modo Wireframe para ver su esqueleto)

Errores comunes

01
Exceso de Segmentos Crear una esfera con 256x256 segmentos pensando que "más es mejor". La web colapsará y el ventilador del usuario sonará como un avión.
02
Crear geometrías en bucle NUNCA instancies geometrías dentro de la función requestAnimationFrame(). Instáncialas una sola vez y reutilízalas.

Practica lo aprendido

Crea el esqueleto de tu mundo.

01 Instancia una SphereGeometry de bajo poligonaje: new THREE.SphereGeometry(1, 8, 8).
02 Instancia un PlaneGeometry para hacer el suelo.
03 Reflexiona: ¿Ves los triángulos que forman la esfera? Eso es la geometría cruda.