Communitygithub.com

kevinbadi/blender-skills

為產品關鍵細節創造電影感的緩慢推鏡頭變焦效果,呈現揭示感。

blender-skills 是什麼?

此技能可在 Blender 中為 3D 產品渲染生成電影風格的緩慢推近縮放動畫。它從廣角定場鏡頭開始,鏡頭緩慢推進至產品上的英雄細節(例如 Logo、紋理或特定特徵),並加入微妙的焦距變化(伸縮鏡頭效果),增強視覺衝擊力。用戶只需指定聚焦點、影片長度、幀率、起始/結束距離與高度、以及焦距範圍等參數,技能就會自動設置相機、添加追蹤約束、並使用貝塞爾插值生成平滑的緩入/緩出動畫。輸出為 PNG 序列,再用 ffmpeg 編碼成 ProRes 4444 格式的影片,適合後期合成。該技能支援 Claude Code、Cursor 等配備 Blender MCP 伺服器的 AI 編碼助手,在用戶下達「揭示」、「推進」、「放大 Logo」等指令時自動觸發。

相容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/kevinbadi/blender-skills/tree/HEAD/slow-zoom

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

慢速變焦攝影機動畫

攝影機從廣角定場鏡頭緩慢推進至英雄細節(Logo、紋理、特徵)的特寫。包含微妙的伸縮鏡頭效果(焦距變化),營造電影般的壓縮感。

使用時機

  • 用戶想要「揭示」或「英雄鏡頭」
  • 用戶說「放大」、「推近」、「Logo 特寫」、「電影揭示」
  • 凸顯產品上的特定細節或特徵

前置條件

  • Blender MCP:已連線
  • 3D 模型:已在 Blender 場景中匯入
  • 輸出資料夾:~/Desktop/Blender Videos/
  • ffmpeg:已安裝

參數

參數預設值描述
duration5影片長度(秒)
fps24每秒幀數
start_distance4.0起始攝影機距離
end_distance1.8結束攝影機距離(特寫)
start_height3.0起始攝影機高度
end_height1.2結束攝影機高度
start_lens35起始焦距(廣角)
end_lens65結束焦距(長焦)
focus_point(0,0,0.1)對焦點(例如 Logo 中心)
transparent_bgtrue透明背景

流程

步驟 1:識別對焦點

詢問用戶要放大哪個細節,或預設為物體中心。如果不確定,使用 AskUserQuestion。

步驟 2:設定攝影機

import bpy, math

# 對焦目標
bpy.ops.object.empty_add(type='PLAIN_AXES', location=FOCUS_POINT)
tgt = bpy.context.active_object
tgt.name = 'ZoomTarget'

# 攝影機
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

步驟 3:製作推近動畫

import bpy

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

# 起始廣角
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)

# 結束長焦
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)

# 保留預設的 BEZIER 插值,以獲得平滑的緩入/緩出

步驟 4:燈光 + 渲染

使用與轉盤技能相同的黃金時刻燈光設定。以 Cycles 渲染為 PNG 序列,再用 ffmpeg 編碼為 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"

小技巧

  • 焦距變化(35mm 到 65mm)會產生微妙的伸縮鏡頭 / 希區考克效果
  • 使用 BEZIER 插值可獲得平滑的緩入/緩出——此動畫請勿使用 LINEAR 插值
  • 將起始位置在 X 軸上偏移(例如 1.5),可營造更具電影感的對角線推進

相關技能