Communitygithub.com

nikisge/claude-motion-kit

用於在 HyperFrames 中透過 Three.js 製作需要真正3D的動態圖形(產品特寫、金屬、玻璃、景深、物件變形/組裝、鏡頭列表),或透過 Blender (Blender MCP、無頭 Blender、glTF/GLB 匯出)產生3D模型。觸發詞:3D、產品影片、金屬、玻璃、景深、散景、Three.js、Blender、GLB。

claude-motion-kit 是什麼?

此技能(nikisge/claude-motion-kit)專注於在 HyperFrames 框架內實現真正的 3D 動態圖形,提供兩種主要工作流程。第一種是直接使用內建的 hf3d 程式庫,這是一個基於 Three.js 的 3D 工作室,能建立包含金屬、玻璃、景深、動態模糊等效果的產品影片。第二種則是將 Blender 作為模型來源,透過 MCP 伺服器或無頭模式匯出 GLB 檔案,再匯入 hf3d 進行最終渲染,確保渲染流程在 HyperFrames 中保持一致。它支援 Claude Code 與其他使用 MCP 的工具,透過詳細的 SKILL.md 文件說明 API 用法、常見錯誤及最佳實踐,適合需要高品質 3D 渲染的動態圖形專案。

相容平台✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/nikisge/claude-motion-kit/tree/HEAD/motion-kit/skills/motion-3d

在你喜歡的 AI 中提問

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

說明文件

動態 3D:HyperFrames 中的真實 3D(+ Blender 作為模型來源)

根據目標有兩種方式:

目標方式狀態
從基本形態製作產品/物體影片:旋轉件、滾花、玻璃、金屬、發光條、組裝、3D 文字hf3d(HyperFrames 中的 Three.js 工作室,hf3d/)經過測試使用中
複雜模型(人物、車輛、建築),無法從基本形態建構Blender 作為模型來源 → GLB → hf3d未測試,根據研究(2026年10月)

原則:最終渲染在 HyperFrames 中進行(可搜尋畫面、與其他部分使用相同的驗證工具)。Blender 提供模型,而非影片。真正的 Blender 渲染(Cycles)是另一個具有獨立渲染時間的專案。

方式 1:hf3d(Three.js 工作室)

cd projects/<name>/hf
bash <this-skill>/hf3d/install.sh . --template    # Three.js r181 + hf3d.js + 字型到 vendor/hf3d,範本作為 index.html
npx hyperframes lint
npx hyperframes snapshot --at 0.7,2,3.3 --describe false

內容(API 及所有陷阱:hf3d/README.md):

  • createStudio:無 HDR 檔的工作室環境,背景為漸層而非黑色,柔和陰影,景深,Bloom,底片顆粒/暗角,ACES。studioLights(主光/邊光/補光)。
  • mat.*:刷面/拋光金屬,玻璃(透射 + 色散),柔觸感,陶瓷,高光澤,自發光。
  • shotRig:包含開始/結束、路徑、焦距(公釐)、對焦目標、散景的鏡頭列表。條目 = 硬切,路徑 = 移動。
  • 輔助函式:lathe,knurl,roundedBox,ribbon,extrudeText,extrudeSVG,Swarm(Instancing:變形、爆炸、組裝)。
  • 範例:examples/rondo/index.html(9.6 秒內 10 個鏡頭;渲染約 2 分鐘,在 24 GB MacBook 上峰值記憶體約 1.8 GB)。

五個最常見錯誤:

  1. 根元素沒有 data-no-timeline(若無 GSAP 時間軸):lint 錯誤且每個渲染等待時間過長。
  2. 無環境的金屬會是黑色。玻璃只有在後方有結構且從前方觀看時才有作用。
  3. 將焦點放在具體物件上,而非畫面中央。
  4. 僅針對整個鏡頭啟用或停用動態模糊。
  5. 計算而非猜測微距攝影中的相機:可見高度 = 2 · 距離 · tan(垂直視角/2),50 mm 時垂直視角約 22°。

方式 2:Blender 作為模型來源(未測試)

經過驗證的標準方式(截至 2026 年 10 月 19 日):ahujasid/mcp-for-blender(MIT)。一個 Blender 附加元件開啟本地伺服器,Claude Code 透過 MCP 控制 Blender,也可以使用任意 Python 程式碼(execute_blender_code),並檢視畫面進行自我驗證。

uvx mcp-for-blender setup                 # 如果已安裝 uv:設定 Claude Code 並安裝附加元件
# 手動方式:
claude mcp add blender uvx mcp-for-blender
uvx mcp-for-blender install-addon

之後在 Blender 中連接附加元件。製作影片的流程:

  1. 在 Blender 中建立或載入模型,單位為公尺,合理設定原點。
  2. 匯出為 GLB(bpy.ops.export_scene.gltf(filepath="model.glb", export_format="GLB")),紋理 ≤ 4096 像素。
  3. 在 hf3d 中載入:import { GLTFLoader } from "three/addons/loaders/GLTFLoader.js"(位於 hf3d/vendor),在 ready Promise 中載入(loadAsync),必要時以 mat.* 取代材質。GLB 檔案需放在本機專案目錄中,渲染時不要進行網路擷取。
  4. 相機、燈光和剪輯保持在 HyperFrames 中。

若無 MCP,也可使用無頭模式:blender -b -P build.py(腳本建立並匯出模型)。-a 可將動畫渲染為影像序列,若仍需在 Blender 中渲染。

已知潛在問題(根據 README,未經自行測試):uv 可能會使用 conda/pyenv 的 Python(UV_PYTHON_PREFERENCE=only-managed),附加元件必須正在執行,每個指令前先存檔(程式碼未經檢查即在 Blender 中執行),將大型任務分解為小步驟。請自行測試渲染時間和記憶體使用量。

更多 Blender 相關方式:請參閱儲存庫根目錄中的 RESOURCES.md。

Individual skills in this repo

This repo contains 4 individual skills — each has its own dedicated page.

相關技能