教程教程阅读约 5 分钟
在 Claude Code 中给 3D 模型绑骨和做动画: 给智能体一个绑骨工具,而不是 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,里面有骨架、蒙皮权重和该体型的全部动画,通常不到一分钟。智能体就能把精力花在它擅长的地方:在你的游戏里播放这些动画的代码。
为什么手动绑骨对智能体来说很难
绑骨看起来像编程任务,但其中大部分工作,其实是对一个智能体看不见的形状做出判断。它只能根据顶点坐标和包围盒来工作,而每个错误都要等到东西动起来才会暴露。
- 关节
- 肩膀、髋部和膝盖在哪里全靠猜。在风格化角色、狗或龙身上,这些猜测经常出错,而一个放错位置的关节会毁掉之后的每一个动画。
- 蒙皮权重
- Blender 的自动权重在很多实际网格上都会失败,尤其是那些有分离部件、孔洞或重叠部分的网格,报错“Bone Heat Weighting: failed to find solution for one or more bones”。然后智能体就会在它无法用肉眼检查的网格修复上反复打转。
- 动画
- 要做出可信的行走、奔跑和待机动画,需要大量关键帧,而且得在看不到效果的情况下做对。每换一种体型都得从零开始。
- 成本
- 每次尝试都要耗费时间和 token,而且同一个模型跑两次,结果也很少一样。
换成一次工具调用
rig_model 把模型交给 afk.ai 的绑骨引擎。一个经过训练、能找出身体部位的 AI 会放置专为这种体型打造的骨架,蒙皮权重来自一套在实际网格上调校过的流程,而动画正是为这套骨架制作的,所以无需重定向就能贴合。
拿回来的是一个标准 GLB,可以在 three.js、Godot、Unreal、Unity(借助 glTFast)和 Blender 中加载。人类有 66 根骨骼(每根手指都有)和 594 个动画;其他 14 种体型各有 12 到 128 个。同一体型的每个模型都有相同的骨骼名和动画名,所以一个控制器就能驱动所有模型。
| 智能体手动绑骨 | 智能体调用 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_..." }
}
}
}
密钥保存在服务器的环境变量里,所以永远不会出现在对话中。智能体会得到十个工具:五个在 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 给智能体提供的工具。每次修复都会写出一个新文件,所以原来的文件永远不会改变。可以这样问它
添加之后,用日常语言提问即可,智能体会自己选择工具、体型和动画:
- “把
models/knight.glb按人类绑骨,在 three.js 场景里播放它的剑术连招。” - “把
models/fox.glb按四足动物绑骨,只要 Idle、Walk 和 Run,然后做一个能在它们之间切换的 Godot 场景。” - “把
assets/props里的每个 .glb 都按物体绑骨,带上 Bounce 和 Spin,用作金币和宝石拾取物。” - “dragon 类型有哪些动画?给
dragon.glb绑骨并加上飞行类动画,再为它们设置一个 AnimationPlayer。” - “给
horse.glb绑骨,以 Generic 绑定类型导入 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 能画出任意动画的任意时刻,让智能体亲眼看看。adjust_animation、fix_stretching 和 fix_spot 会把修复结果写进一个新文件 -v2.glb,原来的文件永远不变。
这样智能体就有了一个能自己跑起来的循环:检查,渲染最糟糕的那一刻,改一处,再检查。
> 检查骑士的 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。

修复前: 膝盖穿过了盾牌

修复后: 盾牌垂在腿外,不再穿模
剩下的交给智能体
绑骨是智能体花力气最多、成果却最少的环节。而“接线”才是它的强项: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 授权,你的模型仍归你所有。
给你的智能体一个绑骨工具
该体型的全部动画,打包在一个 GLB 里,可以从 Claude Code、Cursor、终端或你的代码中发起。