Communitygithub.com

kevinbadi/blender-skills

Zoom lento de cámara con acercamiento push-in hacia un detalle heroico del producto. Crea un efecto de revelado cinematográfico.

¿Qué es blender-skills?

Esta habilidad para agentes de IA (como Claude Code, Cursor o Codex) permite generar automáticamente una animación cinematográfica de cámara en Blender, donde la cámara se acerca lentamente desde un plano general hasta un primer plano cerrado sobre un detalle clave del producto (como un logo, textura o característica). Es ideal para crear efectos de "revelado" o "toma heroica", y se activa cuando el usuario solicita términos como "zoom in", "push in" o "close-up". La habilidad soporta Blender MCP como plataforma subyacente y requiere que el modelo 3D ya esté importado, así como la instalación de ffmpeg para la codificación del video final. El proceso incluye la configuración automática de la cámara con restricción de seguimiento (track), animación de posición y distancia focal (zoom dolly) con interpolación BEZIER para movimiento suave, y renderizado con iluminación estilo "golden hour" en un bucle de fotogramas PNG que se compilan a video ProRes 4444. Los parámetros como duración, distancia inicial/final, altura y longitud focal son completamente configurables, ofreciendo flexibilidad para distintos tipos de planos.

Compatible con~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/kevinbadi/blender-skills/tree/HEAD/slow-zoom

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

Animación de Cámara con Zoom Lento

La cámara se acerca lentamente desde un plano general de establecimiento hasta un primer plano cerrado sobre un detalle heroico (logo, textura, característica). Incluye un sutil zoom dolly (cambio de distancia focal) para compresión cinematográfica.

Cuándo Usarlo

  • El usuario quiere un "revelado" o "toma heroica"
  • El usuario dice "zoom in", "push in", "close-up del logo", "revelado cinematográfico"
  • Destacar un detalle o característica específica del producto

Requisitos Previos

  • Blender MCP: Conectado
  • Modelo 3D: Ya importado en la escena de Blender
  • Carpeta de salida: ~/Desktop/Blender Videos/
  • ffmpeg: Instalado

Parámetros

ParámetroValor por DefectoDescripción
duration5Duración del video en segundos
fps24Fotogramas por segundo
start_distance4.0Distancia inicial de la cámara
end_distance1.8Distancia final de la cámara (primer plano)
start_height3.0Altura inicial de la cámara
end_height1.2Altura final de la cámara
start_lens35Distancia focal inicial (angular)
end_lens65Distancia focal final (teleobjetivo)
focus_point(0,0,0.1)Punto hacia el cual hacer zoom (ej. centro del logo)
transparent_bgtrueFondo transparente

Flujo

Paso 1: Identificar el Punto de Enfoque

Pregunta al usuario en qué detalle hacer zoom, o usa el centro del objeto por defecto. Usa AskUserQuestion si no está claro.

Paso 2: Configurar la Cámara

import bpy, math

# Objetivo de enfoque
bpy.ops.object.empty_add(type='PLAIN_AXES', location=FOCUS_POINT)
tgt = bpy.context.active_object
tgt.name = 'ZoomTarget'

# Cámara
bpy.ops.object.camera_add(location=(START_X, -START_DISTANCE, START_HEIGHT))
cam = bpy.context.active_object
cam.name = 'SlowZoomCam'
cam.data.lens = START_LENS

track = cam.constraints.new(type='TRACK_TO')
track.target = tgt
track.track_axis = 'TRACK_NEGATIVE_Z'
track.up_axis = 'UP_Y'

bpy.context.scene.camera = cam

Paso 3: Animar el Push-In

import bpy

TOTAL_FRAMES = DURATION * FPS
scene = bpy.context.scene
scene.frame_start = 1
scene.frame_end = TOTAL_FRAMES
scene.render.fps = FPS

# Inicio angular
cam.location = (1.5, -START_DISTANCE, START_HEIGHT)
cam.keyframe_insert(data_path='location', frame=1)
cam.data.lens = START_LENS
cam.data.keyframe_insert(data_path='lens', frame=1)

# Final cerrado
cam.location = (0.3, -END_DISTANCE, END_HEIGHT)
cam.keyframe_insert(data_path='location', frame=TOTAL_FRAMES)
cam.data.lens = END_LENS
cam.data.keyframe_insert(data_path='lens', frame=TOTAL_FRAMES)

# Mantener interpolación BEZIER por defecto para entrada/salida suave

Paso 4: Iluminación + Render

Usa la misma configuración de iluminación "golden hour" de la habilidad de plataforma giratoria. Renderiza como secuencia PNG con Cycles, codifica con ffmpeg a ProRes 4444.

ffmpeg -y -framerate 24 \
  -i "~/Desktop/Blender Videos/slowzoom_frames/%04d.png" \
  -c:v prores_ks -profile:v 4444 -pix_fmt yuva444p10le \
  "~/Desktop/Blender Videos/slow_zoom.mov"

Consejos

  • El cambio de distancia focal (35mm a 65mm) crea un sutil efecto de zoom dolly / Hitchcock
  • La interpolación BEZIER proporciona una entrada/salida suave — no uses LINEAR para esta animación
  • Desplaza ligeramente la posición inicial en el eje X (ej. 1.5) para un enfoque diagonal más cinematográfico

Skills relacionados