PTENES
MÓDULO 2.5

🌌 Fondos / Background

Los fondos animados son el entorno invisible que define el tono de todo el video. Nueve plantillas abarcan desde bokeh orgánico hasta lluvia de Matrix, cada una sin depender de assets externos y con renderizado 100 % determinista.

8
Temas
40
Minutos
Medio
Nivel
Práctico
Tipo
Espectro de ambientes de fondo bokeh noise-grain Orgánico gradient-shift liquid-wave Fluido geometric-patterns grid-pulse Geométrico matrix-rain pixel-transition Digital starfield bokeh-circles Espacial Todas: sin assets externos · renderizado determinista
1

🗺️ Descripción general — backgrounds como contexto emocional

Un fondo animado no compite con el contenido — lo define el ambiente. Starfield dice "tecnología y escala". Bokeh dice "elegancia y profundidad". Noise-grain dice "cine y textura". La elección correcta, invisible, amplía el mensaje; la equivocada distrae.

🎯 Criterios de selección

  • •Tono del video: institucional → geometric-patterns o grid-pulse; emocional → bokeh-circles o gradient-shift.
  • •Complejidad visual del contenido: mucho texto → usa fondos sutiles (noise-grain, gradient-shift); poco texto → puedes usar matrix-rain o starfield.
  • •Costo de renderizado: starfield (80 elementos) y matrix-rain pesan más que gradient-shift (CSS puro). Considéralo en renders de larga duración.

💡 Consejo de composición

Reduce la opacidad del background a 0.3–0.6 cuando haya contenido encima. Usa position: absolute; inset: 0; opacity: 0.4 en el contenedor del background y el contenido principal en un z-index superior. Esto mantiene el ambiente sin dificultar la lectura.

9 plantillas
En esta categoría
0 assets
Todo en código
sin/cos
Patrón recurrente
random()
Seed determinístico
2

🫧 bokeh-circles — círculos suaves a la deriva

O bokeh-circles genera círculos semitransparentes de varios tamaños que flotan lentamente por la pantalla. Cada círculo tiene una posición, una velocidad y un tamaño determinísticos, basados en el índice como semilla, lo que crea un movimiento orgánico sin Math.random().

Deriva determinística por índice bokeh-circles.tsx
const t = frame / fps;
// posição inicial baseada no índice (sem Math.random)
const baseX = ((i * 137.508) % 100);
const baseY = ((i * 97.3)  % 100);
// deriva suave com ondas periódicas
const x = baseX + Math.sin(t * speed + i) * driftAmp;
const y = baseY + Math.cos(t * speed + i) * driftAmp;

💡 ¿Por qué 137.508?

Ese es el ángulo áureo en grados (φ ≈ 137,5°). Multiplicar el índice por este valor distribuye los puntos de forma casi uniforme, sin agrupamientos, y genera la apariencia natural de «dispersión equilibrada» característica de la plantilla.

✓ Qué HACER

  • ✓Ajusta la opacidad de los círculos entre 0.05 y 0.2 para lograr un fondo sutil.
  • ✓Usar blur vía CSS filter: blur() para el efecto bokeh real.
  • ✓Variar el radio entre 20px y 120px para dar profundidad visual.

✗ Qué NO hacer

  • ✗Usar Math.random() sin seed: los círculos «parpadean» en cada render.
  • ✗Usar más de 30 círculos sin reducir el blur — el render se vuelve pesado.
  • ✗Alta opacidad con textos: los círculos compiten con la lectura.
Archivo
bokeh-circles.tsx
Técnica
deriva sin/cos
Seed
137.508 áureo
Uso
Elegancia · calma
3

🌈 gradient-shift — gradiente ambiental rotativo

O gradient-shift es la plantilla de background más ligera de la biblioteca. Usa solo un linear-gradient con ángulo y colores que evolucionan mediante ondas sinusoidales basadas en frame / fps. Cero elementos en el DOM, aparte de un único <div>.

Ángulo y colores mediante ondas sinusoidales gradient-shift.tsx
const t = frame / fps;
// fases defasadas para transição suave de cores
const phase1 = Math.sin(t * 0.3) * 0.5 + 0.5;
const phase2 = Math.sin(t * 0.3 + 2) * 0.5 + 0.5;
// rotação lenta do ângulo
const angle = (frame * 0.5) % 360;
// render: linear-gradient(${angle}deg, ${color1}, ${color2}, ${color3})
1

Velocidad del ciclo de colores

El multiplicador 0.3 en sin(t * 0.3) controla la frecuencia del cambio de color. Valores más bajos = ciclo más lento; más altos = pulsación rápida. Para la mayoría de los fondos, 0.15–0.4 es lo ideal.

2

Paleta de colores

La plantilla usa una paleta de 4 colores basados en azules profundos. Cambia el array colors para adaptarlo a tu tono. Mantén colores cercanos en matiz para evitar transiciones bruscas.

3

Velocidad de rotación del ángulo

frame * 0.5 hace que el gradiente gire 180° en 360 frames (12s a 30fps). Reduce a frame * 0.2 para una rotación casi imperceptible — ideal para presentaciones largas.

Archivo
gradient-shift.tsx
Hook
useCurrentFrame
Costo
Muy leve
Uso
Fondo universal
4

💻 matrix-rain — columnas de código que caen

O matrix-rain es el background más temático de la biblioteca: caracteres verdes que caen en columnas y evocan el aspecto icónico de la película Matrix. Cada columna tiene velocidad y posición determinísticas, y el color puede adaptarse a cualquier paleta.

🖥️ Mecánica de las columnas

Cada columna es un array de caracteres. La posición Y de cada char se calcula según el frame para crear el efecto de «estela que cae». El char más reciente brilla más; los más antiguos se van desvaneciendo.

// posição y de cada caractere na coluna k
const speed = 1 + (k * 7 % 3);   // 1, 2 ou 3 (determinístico)
const headY = (frame * speed * charH) % (height + trailLength);
const charOpacity = interpolate(j, [0, trailLength], [0.9, 0]);

✓ Qué HACER

  • ✓Cambia el color de las columnas a azul o cian para una marca diferente.
  • ✓Reduce la opacidad general para usarlo como fondo de overlays.
  • ✓Variar los caracteres: usa dígitos hexadecimales para un tema «hack».

✗ Qué NO hacer

  • ✗Usar como fondo de presentaciones serias/corporativas: contexto equivocado.
  • ✗Aumentar el número de columnas por encima de 40 sin medir los FPS del render.
  • ✗Mezclar con texto verde — mismo matiz, no destaca.
Archivo
matrix-rain.tsx
Técnica
frame % altura
Costo
Moderado
Uso
Tech · cyberpunk
5

🌠 starfield — vuelo por el espacio

O starfield simula el efecto de viajar por el hiperespacio: las estrellas brotan en el centro y se expanden hacia los bordes a medida que avanza el frame. El tamaño y la opacidad de cada estrella aumentan con el progreso radial, creando una sensación de velocidad y perspectiva.

💡 La ilusión de perspectiva

Cada estrella comienza diminuta en el centro y crece mientras se aleja. size = baseSize * (1 + progress * 2) garantiza que cuanto más lejos, más grande. Esto simula el efecto de "punto de fuga" de la perspectiva 3D usando solo matemáticas 2D.

Trayectoria radial determinista starfield.tsx
// ângulo determinístico por índice (ângulo áureo)
const seedAngle = ((i * 137.508) % 360) * (Math.PI / 180);
const cycleLength = fps * 5;
const progress = ((frame * speed + i * 15) % cycleLength) / cycleLength;
const radius = seedRadius * 20 + progress * maxRadius;
const x = cx + Math.cos(seedAngle) * radius;
const y = cy + Math.sin(seedAngle) * radius;
Archivo
starfield.tsx
Patrón
80 estrellas · loop
Técnica
frame % ciclo
Uso
Tech · espacial
6

🎨 geometric-patterns vs. grid-pulse — cuándo usar cada uno

Ambas plantillas usan formas geométricas repetitivas, pero con intenciones diferentes. El geometric-patterns presenta formas grandes en rotación — recursos visuales sofisticados para intros. El grid-pulse usa una cuadrícula de puntos con ondas de ripple — atmósfera de "sistema activo" o "mapa de calor".

geometric-patterns

  • ✓Formas que giran y escalan — polígonos, hexágonos, rombos.
  • ✓Ideal para intros de marca e identidad visual sólida.
  • ✓Hook: interpolate(frame, [0,dur], [0, 360]) para una rotación continua.

grid-pulse

  • ✓Cuadrícula de puntos donde una onda ripple se expande desde el centro.
  • ✓Ideal para dashboards, datos en tiempo real y contextos técnicos.
  • ✓Hook: distância_do_ponto_ao_centro - frame * velocidade para la onda.

💡 Regla de oro

Si el contenido principal tiene ángulos rectos y texto alineado → usa grid-pulse (fuerzas paralelas, refuerza la estructura). Si el contenido es fluido y orgánico → usa geometric-patterns (contraste complementario).

geometric
Rotación + escala
grid-pulse
Onda ripple
Contexto
Marca vs. datos
Hook
interpolate
7

📚 Biblioteca completa — las 9 plantillas

Referencia rápida de todas las plantillas de background. Úsala como referencia cuando necesites elegir rápidamente.

PlantillaArchivoTécnica / hook
bokeh-circles bokeh-circles.tsx deriva sin/cos · ángulo áureo
geometric-patterns geometric-patterns.tsx interpolate · rotación continua
gradient-shift gradient-shift.tsx ondas sinusoidales · ángulo giratorio
grid-pulse grid-pulse.tsx distancia radial · ripple
liquid-wave liquid-wave.tsx Path SVG · sin punto por punto
matrix-rain matrix-rain.tsx frame % altura · trail opacity
noise-grain noise-grain.tsx SVG feTurbulence · enfoque sutil
pixel-transition pixel-transition.tsx interpolate · revelado de cuadrícula pixelada
starfield starfield.tsx radial loop · perspectiva 2D
Total
9 plantillas
Más ligero
gradient-shift
Más pesado
matrix-rain
Patrón
ondas sin/cos

📌 Resumen del módulo

✓
Contexto emocional — elige el background según el tono: orgánico, fluido, geométrico, digital o espacial.
✓
bokeh-circles — el ángulo áureo (137.508°) distribuye los puntos uniformemente sin aleatoriedad real.
✓
gradient-shift — el template más ligero: un div, sin waves, cero elementos en el DOM.
✓
starfield — perspectiva 2D con frame % ciclo para un bucle infinito de estrellas.
✓
Composición — reduce la opacidad del background a 0.3–0.6 cuando haya contenido encima.

Próximo módulo:

2.6 — Cinemático: nueve plantillas que imitan técnicas de cámara y posproducción cinematográfica.