教學教學閱讀約 5 分鐘
在 Claude Code 中替 3D 模型綁骨和做動畫: 給 AI 代理一個綁骨工具,而不是 Blender 腳本
加入 afk-rig MCP 伺服器後,Claude Code 一次工具呼叫就能替角色、動物或道具綁骨,然後檢查每個動畫,修好出錯的地方。
> 把 models/fox.glb 當作四足動物綁骨,讓它在場景裡跑起來
● rig_model (path: "models/fox.glb", type: "fox", animations: ["Idle", "Walk", "Run"])
● Update (src/scene.js)
● 狐狸已經綁好骨骼,正在奔跑。檔案裡還有 Idle 和 Walk,可以直接混合。
叫寫程式的 AI 代理「幫這個模型綁骨,讓它走起來」,它通常會試著全部自己動手:寫一個 Blender Python 腳本來放置骨骼,套用自動權重,替走路循環打關鍵影格,算圖測試,膝蓋往反方向彎時再來一輪。這可能耗掉一整個工作階段,效果卻還是不對。
afk-rig MCP 伺服器則直接給它一個工具。rig_model 把模型傳送給與 afk.ai/rig 相同的 AI 綁骨引擎,再寫回一個 GLB,裡面有骨架、蒙皮權重和該體型的全部動畫,通常不到一分鐘。AI 代理就能把力氣花在它擅長的地方:在你的遊戲裡播放這些動畫的程式碼。
為什麼手動綁骨對 AI 代理來說很難
綁骨看起來像寫程式的工作,但其中大部分其實是在判斷一個 AI 代理看不見的形狀。它只能根據頂點座標和邊界框來工作,而每個錯誤都要等到東西動起來才會顯現。
- 關節
- 肩膀、髖部和膝蓋在哪裡全靠猜。在風格化角色、狗或龍身上,這些猜測經常出錯,而一個放錯位置的關節會毀掉之後的每一個動畫。
- 蒙皮權重
- Blender 的自動權重在很多實際的網格上都會失敗,尤其是那些有分離部件、破洞或重疊部分的網格,並出現錯誤訊息「Bone Heat Weighting: failed to find solution for one or more bones」。接著 AI 代理就會在它無法用肉眼確認的網格修正上反覆打轉。
- 動畫
- 要做出可信的走路、跑步和待機動畫,需要大量關鍵影格,而且得在看不到效果的情況下做對。每換一種體型都得從零開始。
- 成本
- 每次嘗試都要耗費時間和 token,而且同一個模型跑兩次,結果也很少一樣。
換成一次工具呼叫
rig_model 把模型交給 afk.ai 的綁骨引擎。一個經過訓練、能找出身體部位的 AI 會放置專為這種體型打造的骨架,蒙皮權重來自一套在實際網格上調校過的流程,而動畫正是為這套骨架製作的,所以不需要重定向就能貼合。
拿回來的是一個標準 GLB,可以在 three.js、Godot、Unreal、Unity(搭配 glTFast)和 Blender 中載入。人類有 66 根骨骼(每根手指都有)和 594 個動畫;其他 14 種體型各有 12 到 128 個。同一體型的每個模型都有相同的骨骼名稱和動畫名稱,所以一個控制器就能驅動所有模型。
| AI 代理手動綁骨 | AI 代理呼叫 afk-rig | |
|---|---|---|
| 工作量 | 寫腳本、測試算圖、修正,往往要好幾輪 | 一次工具呼叫 |
| 耗時 | 從幾分鐘到一個漫長的工作階段 | 通常 30 秒到 1 分鐘 |
| 骨架 | 根據座標猜測 | 由經過訓練、能找出身體部位的 AI 放置 |
| 動畫 | 一個一個打關鍵影格 | 每個都為該體型製作 |

網格
23,293 個頂點、6 個材質和 14 張貼圖,保持上傳時的原樣

骨架
66 根骨骼,每根手指都有,所有人形角色的骨骼名稱都相同

蒙皮權重
每個頂點最多受 4 根骨骼影響,這裡每根骨骼一種顏色

593 個動畫
該體型的全部動畫;這是 Sword_Attack 的第 0.7 秒
knight.rigged.glb 裡面的內容,由 afk-rig render 繪製:和 AI 代理從 render_rig 取得的圖片一樣。設定方法
在開發者主控台建立一個 API 金鑰:用 Google 帳號登入,然後按下 Create key。再把伺服器加入 Claude Code:
claude mcp add afk-rig \
--env AFK_API_KEY=afk_... \
-- npx -y afk-rig mcp
在 Cursor、Windsurf、Claude Desktop 和其他 MCP 用戶端中,把它加入 mcp.json:
{
"mcpServers": {
"afk-rig": {
"command": "npx",
"args": ["-y", "afk-rig", "mcp"],
"env": { "AFK_API_KEY": "afk_..." }
}
}
}
金鑰存放在伺服器的環境變數裡,所以永遠不會出現在對話中。AI 代理會得到十個工具:五個在 afk.ai 的雲端綁骨,五個在你的電腦上檢查和修正綁好骨的模型。
在 afk.ai 雲端使用你的金鑰
- rig_model幫 .glb、.gltf 或 .fbx 綁骨,並寫出綁好骨骼的 .glb
- image_to_character輸入圖片,輸出綁好骨骼的角色
- list_body_types15 種體型及各自的動畫
- get_account本月剩餘的綁骨次數
- rig_status檢視在別處啟動的綁骨
在你的電腦上免費,無需金鑰
- inspect_rig每個動畫哪裡有問題,最嚴重的排在前面
- render_rig任意時刻的畫面,上面疊加繪製骨架
- adjust_animationafk.ai/rig 的動畫控制項,並讓手臂不穿進身體
- fix_stretching修復運動時撕裂的蒙皮
- fix_spot重新計算某個部位的蒙皮權重
npx afk-rig mcp 提供給代理的工具。每次修復都會寫出一個新檔案,所以原本的檔案永遠不會改變。可以這樣問它
加入之後,用平常說話的方式提問就好,AI 代理會自己選擇工具、體型和動畫:
- 「把
models/knight.glb以人類體型綁骨,在 three.js 場景裡播放它的劍術連招。」 - 「把
models/fox.glb以四足動物綁骨,只要 Idle、Walk 和 Run,然後做一個能在它們之間切換的 Godot 場景。」 - 「把
assets/props裡的每個 .glb 都以物件綁骨,加上 Bounce 和 Spin,當作可撿取的金幣和寶石。」 - 「dragon 體型有哪些動畫?替
dragon.glb綁骨並加上飛行類的動畫,再替它們設定一個 AnimationPlayer。」 - 「替
horse.glb綁骨,以 Generic rig 匯入 Unity,並用 Walk、Trot 和 Run 建立一個 Animator Controller。」 - 「用
concept/hero.png做一個綁好骨的角色。」還沒有模型?image_to_character能用一張圖片產生模型並綁骨,大約需要 2 到 3 分鐘。
- humanSword combo
- foxRun
- objectBounce
- dragonFly
檢查並修正它做出來的東西
另外五個工具在你的電腦上執行,用的是 afk.ai/rig 自己的 Adjust 程式碼:不需要金鑰,不收費,也不上傳任何東西。inspect_rig 會找出陷進地面的腳、撕裂的蒙皮和穿進身體的手臂,最嚴重的排在最前面。render_rig 能畫出任何動畫的任何時刻,讓 AI 代理親眼看看。adjust_animation、fix_stretching 和 fix_spot 會把修正結果寫進一個新檔案 -v2.glb,原本的檔案永遠不變。
這樣 AI 代理就有了一套能自己反覆跑的流程:檢查,渲染出最糟的那一刻,改一個地方,再檢查一次。
> 檢查騎士的 Walk,修好有問題的地方
● inspect_rig (file: "knight.rigged.glb", animations: ["Walk"])
● adjust_animation (animations: ["Walk"], keep_arms_out: 1)
● render_rig (animation: "Walk", time: 1.633) × 2
● 在約三分之一的行走過程中,持盾的手臂穿進了左腿。已修復,見 knight.rigged-v2.glb。

修復前: 膝蓋穿過了盾牌

修復後: 盾牌垂在腿外,不再穿模
剩下的交給 AI 代理
綁骨是 AI 代理花最多力氣、成果卻最少的環節。而「接線」才是它的強項:three.js 的 AnimationMixer、Godot 的 AnimationPlayer、Unity 的 Animator Controller、動畫片段之間的混合,或者一個替關卡需要的每個模型綁骨的腳本。一個綁好骨的檔案,只差幾行程式碼就能動起來:
const gltf = await new GLTFLoader().loadAsync('fox.rigged.glb')
scene.add(gltf.scene)
const mixer = new THREE.AnimationMixer(gltf.scene)
const run = THREE.AnimationClip.findByName(gltf.animations, 'Run')
mixer.clipAction(run).play() // then mixer.update(delta) every frame想知道 API 能替哪些模型綁骨(包括物件),請看用 afk.ai 綁骨 API 能做什麼。
常見問題
除了 Claude Code,這個 MCP 伺服器還能用在其他用戶端上嗎?
可以。它是使用 stdio 的標準 MCP 伺服器(npx afk-rig mcp),所以 Cursor、Windsurf、Claude Desktop 和其他 MCP 用戶端都可以用同樣的指令執行它,只要在它的環境變數中設定 AFK_API_KEY。
綁骨在哪裡進行?
rig_model 和 image_to_character 在 afk.ai 的伺服器上執行:工具會上傳檔案,等待完成,再把結果寫入你的專案。每個模型都會先經過成人內容檢查,沒通過檢查的模型會直接失敗,不收任何費用。檢查和修正工具在你的電腦上執行。
它能替哪些模型綁骨?
GLB、內嵌所有資源的 glTF 或 FBX,最大 200 MB,Draco 和 meshopt 壓縮的檔案也可以。選擇符合模型的體型:human、fox(四足動物)、horse(有蹄動物)、bird、dragon、kaiju(恐龍)、spider、insect、snake、fish、turtle、kangaroo、frog、ghost 或 object。
費用是多少?
每月前 3 次綁骨免費,和 afk.ai/rig 的免費額度相同。之後,綁骨會從 API 點數中扣除,詳見 API 定價。綁骨失敗不收費,檢查和修正工具一律免費。
綁好骨的模型可以商用嗎?
可以。骨架和動畫採用 CC0 授權,你的模型仍歸你所有。
給你的 AI 代理一個綁骨工具
該體型的全部動畫,打包在一個 GLB 裡,可以從 Claude Code、Cursor、終端機或你的程式碼中發起。