PTENES
MÓDULO 3.3

🏍️ Motorcycle Commercial (Three.js)

Showcase cinematográfico: la cámara orbita mientras las luces de estudio revelan el reflejo metálico de la carrocería. Nada más en la lista crea escenas 3D convincentes — Three.js es la opción indiscutible para un producto visual premium.

6
Secciones
~45
min
Three.js
Lib
4K
Renderizado objetivo
1

🎥 Escenario: el comercial que parece real

Un fabricante de motos necesita un comercial prémium para medios digitales. Budget cero para un estudio real, pero el producto debe parecer salido de una concesionaria de lujo. Three.js con materiales PBR ofrece ese nivel de calidad — sin una cámara física.

objeto 3D — demostración en vivo
metalness: 0.9
roughness: 0.1
Material PBR

✓ Three.js es ideal cuando…

Un producto físico necesita una visualización realista
La cámara orbita alrededor de un objeto 3D
Iluminación de estudio con reflejo metálico

✗ Three.js no es la mejor opción cuando…

Narrativa de texto y UI (→ GSAP)
Infografías de datos (→ D3)
Microanimaciones de app (→ Lottie)
WebGL
renderizado por GPU
PBR
materiales físicos
Escena
grafo de objetos
Cámara
perspectiva 3D
2

💡 Iluminación de estudio: tres puntos de luz

La iluminación de tres puntos es el estándar fotográfico para productos que transforma cualquier mesh en un objeto deseable. Luz principal revela la forma. Fill light suaviza las sombras. Rim light separa el producto del fondo oscuro.

KEY LIGHT intensidad 1.5 🏍️ mesh 3D FILL LIGHT intensidad 0.6 RIM LIGHT detrás del objeto plano reflectante sutil — FogExp2 oscurece los bordes

💡 Rim light es el secreto

La luz de contorno (rim light) es lo que separa el objeto oscuro del fondo oscuro. Sin ella, la moto se funde con el background #0a0a0a. Colócala directamente detrás, con una intensidad de 0.3–0.5, y usa el color de la marca para darle personalidad.

Key 1.5
forma principal
Fill 0.6
sombras suaves
Rim 0.4
separación del fondo
Ambient 0.1
base mínima
3

🪞 Material PBR: el brillo de concesionaria

PBR (Physically Based Rendering) significa que el material responde a la luz como un material real. Con metalness=0.9 e roughness=0.1, la pintura de la moto refleja el entorno como una laca automotriz premium.

material PBR — configuración
const material = new THREE.MeshStandardMaterial({
  color: 0x1a0050,        // roxo escuro da marca
  metalness: 0.9,         // quase metal puro
  roughness: 0.1,         // superfície polida
  envMap: cubeRenderTarget.texture, // reflexo ambiente
  envMapIntensity: 1.2,
});

✓ Configuraciones que funcionan

metalness 0.85–0.95 + roughness 0.05–0.15
envMap cúbico para un reflejo de ambiente realista
clearcoat=0.8 para lograr un efecto de barniz sobre el lacado

✗ Errores comunes de material

MeshBasicMaterial — no responde a la luz
roughness=0 — el reflejo perfecto parece plástico
Sin envMap: superficie plana sin profundidad
metalness
0=plástico 1=metal
roughness
0=espejo 1=mate
envMap
reflejo realista
clearcoat
barniz automotriz
4

🌀 Órbita de cámara: el arco cinematográfico

La cámara recorre un arco alrededor del objeto mediante Math.sin e Math.cos del frame actual. El movimiento es lento y deliberado — 0.3–0.5 rotaciones por segundo — como una cámara de cine de alta gama siguiendo el objeto.

órbita de cámara — demostración en vivo
cámara
camX = sin(frame/fps * speed) * radius
camZ = cos(frame/fps * speed) * radius
speed = 0.4 rad/s
radius = 4 units

💡 La velocidad define el carácter

Cámara lenta (0.2–0.4 rad/s) = marca premium, segura, sofisticada. Cámara rápida (1+ rad/s) = energía, deporte, juventud. Para un comercial de motos de lujo, la velocidad lenta siempre es la opción correcta.

Math.sin/cos
arco perfecto
0.4 rad/s
ritmo prémium
lookAt(0,0,0)
enfoque en el objeto
Arco parcial
30s = ~180°
5

💬 El prompt completo

Este es el prompt literal que le das a Claude Code (con la skill Remotion activa). Cada requisito del prompt corresponde a un elemento de la escena Three.js: Claude genera la composición completa con React Three Fiber integrado.

prompt — copia y usa
Build a cinematic motorcycle showcase.
Requirements:
Studio lighting,
Rotating camera orbit,
Slow dramatic movement,
Metallic reflections,
Dark background.
Render as a commercial-style product presentation.

💡 "Studio lighting" y "Metallic reflections"

Estas dos palabras activan el conocimiento de Three.js de Claude para configurar el sistema de iluminación de tres puntos y el material PBR MeshStandardMaterial. Sin ellas, Claude puede usar iluminación plana y un material básico: el resultado será amateur.

"cinematic"
tono dramático
"studio"
3-point lighting
"metallic"
Material PBR
"commercial"
estándar de calidad
6

🏆 Render 4K y entregable premium

Con la composición aprobada en la vista previa, el render 4K con antialias genera el MP4 final. La calidad es indistinguible de la de un anuncio automotriz profesional, y costó horas, no días.

Orden de build: de la escena al comercial

1

Escena y cámara

Crea la escena Three.js dentro de un useEffect en Remotion. Camera perspectiva fov=45, posición inicial en (4, 2, 4).

2

Mesh y material PBR

Carga el GLTF de la moto con GLTFLoader. Aplica MeshStandardMaterial con metalness/roughness. Valida la escena estática antes de animarla.

3

Sistema de iluminación

Agrega las tres luces. Ajusta las intensidades hasta que la moto parezca «de concesionaria». Confirma que la luz de contorno la separe del fondo.

4

Conectar la cámara al frame

Camera.position.x = sin(frame/fps * 0.4) * 4. Renderiza el frame en Three.js DESPUÉS de actualizar la cámara: así es determinista.

Render 4K
3840×2160
Antialias
sin bordes dentados
Instagram
Story 9:16
YouTube
16:9 landscape

📋 Resumen del Módulo 3.3

← Population Shift Siguiente: Banking Onboarding →