Langsame Zoom-Kamera-Animation
Die Kamera fährt langsam von einer weiten, etablierenden Einstellung in eine enge Nahaufnahme auf ein heroisches Detail (Logo, Textur, Feature). Enthält einen subtilen Dolly-Zoom (Brennweitenverschiebung) für filmische Kompression.
Wann verwenden
- Der Benutzer wünscht eine „Enthüllung“ oder einen „Hero Shot“
- Der Benutzer sagt „hereinzoomen“, „einfahren“, „Nahaufnahme vom Logo“, „filmische Enthüllung“
- Hervorheben eines bestimmten Details oder Merkmals des Produkts
Voraussetzungen
- Blender MCP: Verbunden
- 3D-Modell: Bereits in der Blender-Szene importiert
- Ausgabeordner:
~/Desktop/Blender Videos/ - ffmpeg: Installiert
Parameter
| Parameter | Standard | Beschreibung |
|---|---|---|
duration | 5 | Videolänge in Sekunden |
fps | 24 | Bilder pro Sekunde |
start_distance | 4.0 | Start-Kameraentfernung |
end_distance | 1.8 | End-Kameraentfernung (Nahaufnahme) |
start_height | 3.0 | Start-Kamerahöhe |
end_height | 1.2 | End-Kamerahöhe |
start_lens | 35 | Start-Brennweite (Weitwinkel) |
end_lens | 65 | End-Brennweite (Tele) |
focus_point | (0,0,0.1) | Punkt, auf den gezoomt wird (z.B. Logomitte) |
transparent_bg | true | Transparenter Hintergrund |
Ablauf
Schritt 1: Fokuspunkt identifizieren
Frage den Benutzer, in welches Detail gezoomt werden soll, oder verwende den Standard (Objektmittelpunkt). Verwende AskUserQuestion, falls unklar.
Schritt 2: Kamera einrichten
import bpy, math
# Fokus-Ziel
bpy.ops.object.empty_add(type='PLAIN_AXES', location=FOCUS_POINT)
tgt = bpy.context.active_object
tgt.name = 'ZoomTarget'
# Kamera
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
Schritt 3: Einfahrt animieren
import bpy
TOTAL_FRAMES = DURATION * FPS
scene = bpy.context.scene
scene.frame_start = 1
scene.frame_end = TOTAL_FRAMES
scene.render.fps = FPS
# Start weit
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)
# Ende nah
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)
# Standard BEZIER-Interpolation für weiche Ein-/Ausläufe beibehalten
Schritt 4: Beleuchtung + Rendern
Verwende dasselbe Golden-Hour-Beleuchtungssetup wie beim Drehteller-Skill. Rendere als PNG-Sequenz mit Cycles, codiere mit ffmpeg zu 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"
Tipps
- Die Brennweitenverschiebung (35mm auf 65mm) erzeugt einen subtilen Dolly-Zoom / Hitchcock-Effekt
- BEZIER-Interpolation sorgt für weiche Ein- und Ausläufe – verwende für diese Animation kein LINEAR
- Versetze die Startposition leicht auf der X-Achse (z.B. 1,5) für eine filmischere diagonale Annäherung