让 AI 亲手给你建模:Reasonix + DeepSeek 接入 Blender MCP 实操
> 先讲一句最重要的:本文不以某个 Agent 为限。 只要你手里的 Agent 支持 MCP(Claude Code、Cursor、Codex 系、各类 AI 编程助手大多都支持),下面这套装法基本照搬即可。本文是用 Reasonix Desktop + DeepSeek 做的全程实测。
>
> 面向受众:想玩 AI 建模的 3D 爱好者、独立开发者、概念美术、游戏原型作者,以及所有想让 AI 真的动手、而不是只在嘴上描述的人。
>
> 阅读前提:Blender 你自己装(第 2 节),剩下全在 Reasonix 里解决(第 5、6 节),不需要你写一行代码。
>
> 先把底交清楚:这东西确实好玩,好玩到我一下午没干别的。但它有个副作用,约等于你把自己的手残,托管给了 DeepSeek 的审美。它建出来的第一条龙像一只心情不太好的红色河马,你提意见,它改,改到第三轮才勉强有龙样。整个过程一言难尽,但你会停不下来。
0 为什么这件事值得折腾
你大概早就试过让 AI 写 Blender 脚本。问题从来不是它写不出来,而是这三件事:
- 它写的代码不一定跑得起来,API 名字记错、版本对不上,报错还特别含蓄;
- 就算跑起来了,好不好看只能你自己渲染出来看;
- 你说龙的头太方了,它看不见那张图,只能靠猜。
而 AI 的猜测能力,说实话,跟它的自信程度完全不成正比。
MCP 解决的正是最后一环:让 Agent 把手真的伸进你的 Blender。建模型、调参数、渲染一张图、自己看一眼、不满意再改。整个建、看、改的闭环它自己跑,你只负责提意见。
下面这张就是本文实测跑出来的成品,全程由 AI 在 Blender 里操作,我只说了几句话:

不算惊艳,但它是 AI 一笔一笔敲出来的,而且它自己对着这张图改了三轮。
1 先搞清楚这套东西由几块组成
很多人卡住不是因为难,而是没搞清有几个角色。这套东西一共三块,缺一不可:
┌────────────────────────────────────────────────────────────┐
│ Reasonix(MCP 客户端) │
│ └── DeepSeek(模型,负责想) │
└────────────────────────────────────────────────────────────┘
│ MCP 协议(stdio,本地管道)
▼
┌────────────────────────────────────────────────────────────┐
│ blender-mcp(桥进程,一个 Python 小工具) │
│ 把 MCP 的工具调用翻译成对下面那个 socket 的读写 │
└────────────────────────────────────────────────────────────┘
│ TCP 127.0.0.1:9876
▼
┌────────────────────────────────────────────────────────────┐
│ Blender + 官方 MCP 扩展(extension id = mcp) │
│ 真的去执行 Python、真的去建模型、真的去渲染 │
└────────────────────────────────────────────────────────────┘
| 角色 | 装在哪 | 谁来装 | 干什么 |
|---|---|---|---|
| Blender + MCP 扩展 | 你的电脑 | 你自己(第 2、3 节) | 真正干活的双手,监听 9876 |
| blender-mcp 桥 | 你的电脑 | 一条命令(第 4 节) | 把 MCP 协议转成 socket 通信 |
| Reasonix + DeepSeek | 你的电脑 | 图形界面点几下(第 5、6 节) | 大脑和客户端 |
> ⚠️ 最重要的一句话: 上面这两层必须同时活着。Blender 没开、或者扩展没启动,工具列表照样会显示,但每一次调用都会失败。这是新手最容易懵的地方。
2 第一步:装 Blender(你自己来)
版本要求:Blender 5.1.0 及以上。官方 MCP 扩展的 blender_manifest.toml 里硬性卡了这个版本,低于它装不上。
到 blender.org 下载安装就行。本文实测用的是 Blender 5.2.1 LTS。
装完先打开一次,确认能正常启动,后面所有操作都在它的偏好设置里。
3 第二步:在 Blender 里装官方 MCP 扩展
先说个大坑:这个扩展就叫 mcp,而 MCP 生态里同名同姓的东西不止一个。认准 Blender 官方(Blender Lab)发布的那个,也就是仓库 lab.blender.org 里的。装错了连不上,报错还特别含糊,能让你怀疑人生半小时。
方法 A:拖拽安装(最快)
打开官方说明页:
把页面上的安装按钮拖进 Blender 窗口,拖两次:
- 第一次:把
lab.blender.org这个扩展仓库加进 Blender; - 第二次:真正安装 MCP 扩展。
第一次拖完没反应是正常的。它不是失败,它只是先帮你装个仓库。
方法 B:从磁盘安装(拖拽失败时用)
- 下载扩展的
.zip; - Blender 里打开 编辑(Edit)→ 偏好设置(Preferences)→ 获取扩展(Get Extensions);
- 右上角下拉菜单 → 从磁盘安装(Install from Disk),选中刚才的 zip。
装完之后必须做的三件事
在 偏好设置 → 扩展(Extensions) 里找到刚装的 MCP,确认:
- 它处于启用状态(勾是打上的);
- Auto Start 是打开的;
- Host =
localhost,Port =9876(默认值,别动)。
面板上应该出现 Server is running。看到这行字,Blender 这一半就算好了。
> 💡 如果面板没显示 running,先点一下 Start Server。点不动、或者蹦出 Online access must be enabled in the system preferences,直接跳到第 8 节。那是本文最值钱的一段,我为此付出了半小时的青春。
4 第三步:装 MCP 桥(blender-mcp)
这个桥需要 uv(Astral 出的 Python 包管理器)和 git。
先装 uv:
# Windows(PowerShell)
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
# macOS / Linux
curl -LsSf https://astral.sh/uv/install.sh | sh
然后装桥。两种装法,挑一个:
# 装法一:一行搞定,不用先 clone(推荐)
uv tool install --from "git+https://projects.blender.org/lab/blender_mcp.git#subdirectory=mcp" blender-mcp
# 装法二:先 clone 再本地安装
git clone https://projects.blender.org/lab/blender_mcp.git
uv tool install ./blender_mcp/mcp
> 📡 如果你这边网络不通、命令一直转圈,先翻到第 12 节的第一个问题。我踩过这个坑,并且留下了详细记录。
装完把可执行文件的绝对路径找出来,下一步要用:
uv tool list # 确认 blender-mcp 在里面
# 找路径
where blender-mcp # Windows
which blender-mcp # macOS / Linux
拿不到就按平台直接找:
| 平台 | 常见位置 |
|---|---|
| Windows | %APPDATA%uvtoolsblender-mcpScriptsblender-mcp.exe,或 %USERPROFILE%.localbinblender-mcp.exe |
| macOS / Linux | ~/.local/share/uv/tools/blender-mcp/bin/blender-mcp,或 ~/.local/bin/blender-mcp |
> ⚠️ 改名坑,真的很多人踩: PyPI 上那个叫 blender-mcp 的包、以及 GitHub 上那个 star 很高的同名项目,都是第三方社区版,不是官方的。官方版在 Blender 自家的 projects.blender.org/lab/blender_mcp。本文全程用的官方版。
5 第四步:在 Reasonix 里接上 DeepSeek
打开 Reasonix 桌面端:
设置 → 模型 → 接入 → 添加模型服务 → 推荐预设 → DeepSeek
DeepSeek 是内置预设,你只需要干两件事:
- 去 platform.deepseek.com 申请一个 API Key;
- 把它填进预设的 API Key 输入框。
点保存之后:
- 真实密钥会被写进 Reasonix home 的
.env(Windows 是%APPDATA%reasonix.env); config.toml里只存变量名DEEPSEEK_API_KEY,不存明文。
这是刻意设计的:config.toml 是那种可以随便打开、随便贴出来求人帮忙排错的文件,密钥不该在里面。
然后在输入框上方把当前模型切到 DeepSeek,这一半就好了。
> 💡 默认预设走的是 DeepSeek 的 Anthropic-compatible Messages 端点,并且顺手打开了 provider 侧的联网搜索。两种协议复用同一个 DEEPSEEK_API_KEY,不需要申请两个 key。
>
> 想省钱的话,日常建模用 Flash 档就够了。想让它多琢磨几轮再动手,换 Pro 档。
6 第五步:把 blender 加进 Reasonix 的 MCP
还是在 Reasonix 里:
设置 → MCP 服务器 → 添加并连接
填两个东西:
| 字段 | 填什么 |
|---|---|
| 名称 | blender(随便起,但建议就叫这个) |
| 命令 | 第 4 节你查到的那条绝对路径,比如 C:Users你的用户名.localbinblender-mcp.exe |
保存。这类主动安装本身就是授权动作,存完 server 会在当前会话直接连上,不会再来一套信任确认弹窗。
等价做法:直接写配置文件
如果你跟图形界面合不来,Reasonix 的全局配置在这:
- Windows:
%APPDATA%reasonixconfig.toml - macOS / Linux:
~/.reasonix/config.toml
加这么一段:
[[plugins]]
name = "blender"
command = "C:/Users/你的用户名/.local/bin/blender-mcp.exe"
> Windows 路径在 config.toml 里用正斜杠 / 或者双反斜杠 \ 都行,就是别写单个 “。
不想把桥装进 PATH,也可以让 uv 直接跑(这样能省掉第 4 节的 uv tool install):
[[plugins]]
name = "blender"
command = "uv"
args = ["--directory", "C:/path/to/blender_mcp/mcp", "run", "blender-mcp"]
改完配置要重启会话(关掉再开,或者用 /mcp 刷新),Reasonix 才会重新读。
7 跑通验证:三层体检
先别急着让它建模。 按下面顺序确认三层都活着,这是本文最省时间的一段。
第 1 层:Blender 自己
偏好设置 → 扩展 → MCP 面板,应该写着 Server is running。
第 2 层:端口真的在监听
# Windows
netstat -ano | findstr 9876
# 或 PowerShell
Get-NetTCPConnection -State Listen -LocalPort 9876
# macOS / Linux
lsof -iTCP:9876 -sTCP:LISTEN
应该能看到 127.0.0.1:9876 处于 LISTENING。如果这一步什么都没有,别往下看了,直接去第 8 节。
第 3 层:Reasonix 认到了
在 Reasonix 里敲 /mcp,应该看到 blender 是已连接状态,并且列出了它的工具。
官方这套工具里,你最常用的是这几个:
| 工具 | 干什么 |
|---|---|
execute_blender_code |
核心:在 Blender 里执行 Python,用 result 变量回传结果 |
get_objects_summary |
看当前场景里都有什么 |
get_screenshot_of_window_as_image |
截一张 Blender 窗口的图,这是 AI 的眼睛 |
render_viewport_to_path / render_thumbnail_to_path |
渲染到文件 |
get_python_api_docs / search_manual_docs |
现场查 Blender API 和手册 |
最简单的 hello world 验证
跟 Reasonix 说一句:
> 看一下我现在 Blender 里有哪些对象。
它应该会调用工具,把当前场景里的对象列给你。能做到这一步,链路就算通了。
报错对照表
| 现象 | 大概率原因 |
|---|---|
Cannot connect to Blender at localhost:9876 |
Blender 没开,或者扩展没启用,或者没点 Start(见第 8 节) |
| 工具能列出来,但每次调用都失败 | 桥活着,Blender 那半边死了。回去看第 2 层的端口 |
| 调用一直卡住不返回 | 扩展正连着另一个客户端会话。重启 Blender 和 Reasonix |
拖拽安装报 not found in the remote repository |
仓库索引还没拉下来,改用方法 B 从磁盘安装 zip |
8 两个把我坑了很久的静默失效(本节最值钱)
这两个坑的共同特征是:不报错、不崩溃、什么都不发生。端口就是不起,而且你从界面上完全看不出为什么。它不会给你任何提示,它只是安静地什么都不做,像极了周一早上九点的我。
我各踩了一次。
坑一:Online Access 被关着
Blender 的 MCP 扩展启动前会检查一个系统偏好:在线访问(Online Access)。而这个开关默认是关的。
后果:扩展在注册时直接 return,连定时器都不注册,9876 就静静地不监听。你手动点 Start Server 也会被拒绝,弹一句:
> Online access must be enabled in the system preferences
修复(命令行,不用开界面):
blender --background --python-expr "import bpy; bpy.context.preferences.system.use_online_access=True; bpy.ops.wm.save_userpref()"
改完必须重启 Blender。偏好是启动时读的,热改没用。
> 图形界面里也能点:偏好设置 → 系统 → 勾上允许在线访问。命令行只是更省事。
坑二:扩展本身没启用
我第一次修好 Online Access 之后,端口还是不起来。查了半天才发现:扩展在偏好里处于禁用状态,register() 根本没跑,自然也不会注册自动启动。
怎么确诊(这一条命令就能看出来):
blender --background --python-expr "import addon_utils; print(addon_utils.check('bl_ext.user_default.mcp'))"
返回 (False, False) 就是没启用,正常应该是 (True, True)。
修复:
blender --background --python-expr "import bpy; bpy.ops.preferences.addon_enable(module='bl_ext.user_default.mcp'); bpy.ops.wm.save_userpref()"
⚠️ 改偏好的顺序,千万别搞反
这点我差点栽进去。Blender 退出的时候会回写 userpref。所以:
❌ 错:先改偏好 → 再关 Blender (关的时候用旧偏好把你的改动覆盖掉)
✅ 对:先关掉 Blender → 改偏好 → 再启动
你要是已经开着 Blender,先把它关掉,再跑上面的修复命令,然后再打开。
修完怎么确认
启动 Blender 之后等大约 10 秒(扩展是延迟 1 秒自动启动,再加上 Blender 自身的启动时间),然后跑第 7 节的第 2 层体检,9876 应该就在 LISTENING 了。
> 📌 顺带一条:--background 模式不支持 timer。所以上面这些命令只是用来改配置的,别指望它在后台模式里把服务起起来。真要在后台跑,得用扩展提供的 --command blender_mcp。
9 实战:让 AI 做一个低多边形地下城,外加一条龙守着一罐黄金
链路通了之后,好玩的部分就来了。你不需要写任何代码,只需要把想法说清楚。
9.1 我怎么跟它说的
> 试一下 Blender 的操作:创建一个低多边形的地下城场景,有一条龙守卫着一罐黄金。
就这一句。如果你想要更可控的结果,可以把元素也点出来,比如地下城等于石地板加四面墙加石柱加火把,龙等于身体、头、双翼、尾巴、四肢,黄金等于陶罐加散落金币。
9.2 它实际做了什么
Agent 自己把这件事拆成了 6 步,每一步都是真的在 Blender 里执行:
| 步骤 | 干了什么 |
|---|---|
| 1 | 清空默认场景(默认的 Cube、Light、Camera) |
| 2 | 建地下城房间:地板、四面墙、4 根六棱石柱(带柱头)、4 个火把(铁杆加自发光火焰加点光) |
| 3 | 建龙:躯干、腹部、脖颈、头部(含眉骨、下颚、双角、发光眼睛、獠牙)、4 枚背刺、双翼、尾巴、四条腿和爪 |
| 4 | 建黄金:一个多边形陶罐,加上罐口金币堆,加上地面散落金币,共 49 枚 |
| 5 | 布置相机(30mm 加 Track-To 约束)和灯光(暖色主光加冷色补光) |
| 6 | 渲染成 PNG,自己看图,然后接着改 |
最终场景 111 个对象。
9.3 最关键的体验:它会看
第 6 步之后才是我觉得最有意思的地方。它渲染完会把图拿给自己看,然后主动发现并修掉了这些问题:
- 龙头太方,像块砖。加长吻部、补上眉骨、把角往外撇。
- 眼睛看不见。原来眼睛嵌在头部模型内部,被自己的脑袋挡住了。挪到表面,还让头稍微转向镜头。
- 爪子像穿了一双白鞋子。缩小爪子。
- 罐口金币像悬空的飞碟。改成贴着罐口收拢的锥形堆。
这就是 MCP 和让 AI 写代码的本质区别:它能看见结果,所以能自己迭代。我全程只说了几句意见,剩下它自己闭环。
顺便说,第一版的龙真的是一言难尽。它不难看,它只是不像龙。
9.4 实际结果(迭代 3 轮)

低多边形风格的三个要点:低面数(身体用 20 面的 icosphere)、平面着色(所有面 use_smooth = False)、纯色块材质。这样即使不贴图,也一眼能看出是 low poly。
9.5 别忘了让它存盘
Blender 默认不会自动保存。所以在收尾时明确说一句:
> 把结果保存成 .blend 文件,再导出一张 PNG。
我这边最后落盘的是:
low_poly_dungeon.blendlow_poly_dungeon.png
> 这一步别省。Agent 改错了不会给你 undo 历史,你敢不存盘,它就敢让你从头再来。
10 Blender 脚本的 3 个版本坑(5.2 实测)
如果你自己也想写点脚本喂给它,或者它执行时报错了,这三个坑在 Blender 5.x 上一定会遇到:
坑一:新建的 World 没有 Background 节点
# ❌ 会 KeyError: 'Background'
world = bpy.data.worlds.new('MyWorld')
bg = world.node_tree.nodes['Background']
Blender 5.2 里 use_nodes 已经是废弃字段(6.0 要移除),新建的数据块节点树是空的。要按类型找,找不到再建:
# ✅
nt = world.node_tree
bg = next((n for n in nt.nodes if n.type == 'BACKGROUND'), None)
if bg is None:
out = next((n for n in nt.nodes if n.type == 'OUTPUT_WORLD'), None) or nt.nodes.new('ShaderNodeOutputWorld')
bg = nt.nodes.new('ShaderNodeBackground')
nt.links.new(bg.outputs['Background'], out.inputs['Surface'])
bg.inputs[0].default_value = (0.02, 0.02, 0.04, 1.0) # 颜色
bg.inputs[1].default_value = 0.3 # 强度
坑二:新建的 Material 没有 Principled BSDF 节点
一模一样的毛病:
# ❌ AttributeError: 'NoneType' object has no attribute 'inputs'
mat = bpy.data.materials.new('Stone')
b = mat.node_tree.nodes.get('Principled BSDF')
# ✅ 按 node.type 找,找不到就建一个并连线
b = next((n for n in mat.node_tree.nodes if n.type == 'BSDF_PRINCIPLED'), None)
if b is None:
out = next((n for n in mat.node_tree.nodes if n.type == 'OUTPUT_MATERIAL'), None) or mat.node_tree.nodes.new('ShaderNodeOutputMaterial')
b = mat.node_tree.nodes.new('ShaderNodeBsdfPrincipled')
mat.node_tree.links.new(b.outputs[0], out.inputs['Surface'])
坑三:渲染引擎的标识变了
# ❌ 4.x 时代的写法,5.x 认不出
scene.render.engine = 'BLENDER_EEVEE_NEXT'
# ✅ 5.x 就叫这个名字
scene.render.engine = 'BLENDER_EEVEE'
保险写法:
for eng in ('BLENDER_EEVEE_NEXT', 'BLENDER_EEVEE'):
try:
scene.render.engine = eng
break
except Exception:
pass
> 💡 这些坑你其实可以不背。Reasonix 里有一整套 Blender API 文档检索工具(get_python_api_docs、search_manual_docs),让 Agent 自己去查、自己改,比你把笔记全记下来更实际。上面三条只是帮你看懂它为什么在改。
11 和它配合的几个经验
用顺手之后,我总结出这么几条:
-
一次说清楚风格,比说清楚细节更值钱。
说低多边形风格,比说身体用 icosphere、所有面关掉平滑效果好。前者它自己会推导出后者。 -
让它先渲一张给你看,再谈修改。
别一上来就要完美。让它快速渲个低分辨率预览(taa_render_samples调到 24 左右),看图、提意见、再渲,比一次憋个大招快得多。 -
提意见要具体,说清哪里和怎么样。
龙头太方了,加长吻部,比再来优化一下有用一百倍。 -
大场景分步来。
房间、龙、黄金、相机灯光,一步一步。每步完成后让它汇报对象数量,出问题也好定位。 -
最后一定要让它存盘。
见 9.5。Blender 不会替你自动保存。 -
重复的东西让它做成函数。
清空场景、批量撒金币这类,让它写成函数复用,比每次重新生成省 token。
12 常见追问
这一节是我自己踩过的坑,加上被问得最多的几个问题。
网络不通、命令一直转圈怎么办
这大概是我整个过程里最耗时间的一环,而且它跟 Blender 一点关系都没有。
我这边实测的域名情况(仅供参考,你那边可能不一样):
| 域名 | 我这边的情况 |
|---|---|
raw.githubusercontent.com |
基本连不上,一直转到超时 |
codeload.github.com |
同上 |
api.github.com |
同上 |
github.com |
正常 |
pypi.org |
正常 |
projects.blender.org |
浏览器直接打开会 403,但 git 协议是通的 |
extensions.blender.org |
正常 |
落到操作上就是三句话:
- 装 MCP 扩展走的是
blender.org和extensions.blender.org,我这边没问题,拖拽安装能用。 - 装桥的时候,优先用第 4 节的装法一。那条命令访问的是
projects.blender.org的 git 协议,在我这儿是通的。 - 别去 GitHub 找 raw 链接直接下文件,那种多半会卡死在那儿,然后你会以为是 Blender 的问题。
顺便解释一个反直觉的现象:projects.blender.org 用浏览器打开 403,但 git clone 却成功。这不矛盾,网页和 git 协议走的是不同的入口,网页被挡了不代表仓库拿不到。
如果这几条都不通,那就是更上游的网络问题,老实挂代理吧,这一步没有魔法。
那个 Online Access,开了会不会把我电脑暴露出去
不会。它只是 Blender 自己的一个策略开关,管的是允不允许扩展访问网络。MCP 这条链路走的是 127.0.0.1 的本机回环,数据不出你这台机器。
当然,你让 Agent 执行的 Python 能不能联网,是另一回事。见下面那条关于权限的。
一定要用 DeepSeek 吗,Claude 和 GPT 行不行
行。MCP 是通用协议,任何支持 MCP 的 Agent 都能接这套。
本文用 DeepSeek 的原因很朴素:便宜,而且中文对话顺。你要是本来就有 Claude Code 或者 Cursor,把它们指向同一个 blender-mcp 可执行文件就行,配置思路完全一样,只是把 [[plugins]] 那段换成对应的 .mcp.json。
Flash 和 Pro 怎么选
Flash 快、便宜,日常建模够用。Pro 会多想几轮,复杂场景更稳,但慢一些、贵一些。
我的建议是先用 Flash 试水,等你确定要折腾一个大场景了,再切 Pro。
这一套要花多少钱
花的是 DeepSeek 的 token,不是 Blender 的。
按我的体感,做本文这个地下城场景、加上反复看图改三轮,是几毛钱级别的开销。真正吃 token 的不是它写代码,是它每看一眼渲染图,图片进上下文很占位置。
所以想省钱有个立竿见影的招:预览图别渲太大,taa_render_samples 也别开高,看着够用就行。
能做人吗,能做角色吗
低多边形的可以,那种方块小人它做得挺欢。写实人脸别想了,那是另一个量级的事情,跟这套工具没关系。
能做动画吗
能摆姿势,能不能做动画就看你耐心了。目前这套最稳的是静态建模和场景搭建。动画要挂关键帧、要调曲线,Agent 做这个远不如建模可靠,你得盯着。
能导出给 Unity、UE 或者网页用吗
能。让它调 bpy.ops.export_scene.gltf 导出 glTF 就行,低多边形模型正好适合塞进游戏引擎。
不过导出之后材质和贴图不一定完全对得上,导完自己进引擎检查一下。
它会不会把我硬盘搞坏,会不会删我文件
看你怎么用。
它执行的是 Blender 进程里的 Python,能干什么取决于你让它写什么。就这套官方工具而言,它动的是当前场景,不会去扫你的硬盘。
但有两件事得你自己做:
- 重要的 .blend 先备份。它改错了不会给你 undo 历史。
- 别给来路不明的 MCP server 开这个口子。
execute_blender_code本质上是执行任意 Python,你信任的 server 才行。
我把场景改坏了能撤销吗
Blender 自己的 Ctrl+Z 对脚本批量操作基本救不回来。真正的撤销手段就是存盘时的备份。
所以养成习惯:动手前先另存一个 .blend。
渲染太慢或者太糊
用 EEVEE,别用 Cycles。然后:
- 分辨率压到 1000 像素宽左右;
taa_render_samples设到 24 上下;- 别没事渲 4K。
预览阶段这些设置完全够用,最后出图再调高。
为什么它好像看不见我的场景
它没有眼睛,它靠截图和渲染图来观察。
所以你想让它看懂现状,就得让它输出图,或者让它先调 get_objects_summary 把对象列表拉出来。光靠嘴描述场景,它就只能猜,而它猜的水平你已经在第 0 节领教过了。
一定要用 Reasonix 吗
不必。Claude Code、Cursor、Codex 系,任何支持 MCP 的 Agent 都行。
这套东西真正的组成部分只有两个:Blender 里那个监听 9876 的扩展,和一个叫 blender-mcp 的桥。谁当客户端都无所谓。
13 成本与注意事项
成本:消耗的是 DeepSeek 的 token。每渲染出一张图、让模型看一眼、再改一轮,都是实打实的请求。好消息是 DeepSeek 本身便宜,做本文这种场景基本是几毛钱的体验,别怕试。想再省,日常用 Flash 档。
注意,这条比成本重要:
> ⚠️ execute_blender_code 是在你的 Blender 里执行任意 Python。 也就是说,你给了 Agent 你本机 Blender 进程的完整权限。自己玩、自己可控的场景下完全没问题;但如果你接的是别人给的 MCP server,或者跑了来路不明的配置,那就等于把机器的执行权限交出去了。只给自己信任的 server 开这个口子。
另外两条小的:
- .blend 自己备份。Agent 改错了不会给你 undo 历史,重要文件先另存一份。
- Blender 崩了记得两边都重启。桥和扩展都在等对方,你只重启一个,它俩还是干瞪眼。
结尾
玩这套东西最大的感受是:3D 建模里机械的那一半,真的可以交出去了。
摆位置、调参数、试材质、渲一张看一眼再改,这些又碎又反复的活,交给 Agent 自己闭环。你要守住的,是审美和判断:这条龙该凶一点还是憨一点,这个光该暖还是该冷,这个场景到底想讲什么。
所以回到开头那句话。把自己的手残托付给 AI 的审美,确实一言难尽。但反过来看,这也意味着你终于可以把时间花在真正值钱的那部分上。
工具越强,你想要什么,就越值钱。
附录 A:一页速查表
| 环节 | 位置 / 命令 |
|---|---|
| Blender 版本要求 | 5.1.0+ |
| 装扩展 | 拖两次,或 偏好设置 → 获取扩展 → 从磁盘安装 |
| 扩展设置 | Auto Start 打开,localhost,9876 |
| 装桥 | uv tool install --from "git+https://projects.blender.org/lab/blender_mcp.git#subdirectory=mcp" blender-mcp |
| 找桥路径 | where blender-mcp(Win)/ which blender-mcp(mac、Linux) |
| Reasonix 接 DeepSeek | 设置 → 模型 → 接入 → 添加模型服务 → 推荐预设 → DeepSeek |
| Reasonix 加 MCP | 设置 → MCP 服务器 → 添加并连接,填名称 blender 加桥的绝对路径 |
| 配置文件 | %APPDATA%reasonixconfig.toml(Win)/ ~/.reasonix/config.toml |
| 密钥存放 | Reasonix home 的 .env,不在 config.toml 里 |
| 端口体检 | Get-NetTCPConnection -State Listen -LocalPort 9876(Win)/ lsof -iTCP:9876 -sTCP:LISTEN |
| 查扩展是否启用 | blender --background --python-expr "import addon_utils; print(addon_utils.check('bl_ext.user_default.mcp'))" |
| 修 Online Access | blender --background --python-expr "import bpy; bpy.context.preferences.system.use_online_access=True; bpy.ops.wm.save_userpref()" |
| 改偏好的顺序 | 先关 Blender,改偏好,再启动 |
| Reasonix 里查状态 | /mcp |
| 网络不通 | 用第 4 节装法一(走 projects.blender.org 的 git 协议),别用 GitHub raw 链接 |
> 补充:接第三方能力时务必注意数据用途边界与授权范围。本文提到的 Blender、DeepSeek、Reasonix 等均与作者无利益关系,费用和接口细节请以各家官方文档为准。