之前就说过想写一篇mcp相关的文章,那就借blender-mcp聊聊。
1、什么是MCP
MCP,全称是Model Context Protocol,模型上下文协议,由Claude母公司Anthropic于去年11月正式提出。
简单理解一下,mcp提供了一种方式,让大语言模型能和各种外部工具进行交互,从而获取其信息和使用外部工具,从而实现ai自动使用工具的目的。
今天要说的就是让trae这个软件集成的大语言模型,调用blender-mcp相关功能,来实现通过自然语言描述生成3d模型的方法。
想象一下,如果我们可以像与人交流一样,用自然语言告诉Blender:“创建一个红色的立方体,让它变大两倍,然后向右移动5个单位”,软件就能心领神会地完成操作,这多么令人兴奋!
2、什么是字节跳动TRAE IDE的MCP功能?
trae在4.22的版本更新中新增了以下重要功能,从而让本文描述的方法可行,再结合开源项目blender-mcp一起使用,就能实现想要的效果啦。
核心原理:自然语言 -> LLM -> Blender Python -> 3D模型
其大致工作流程如下:
-
用户输入:用户在MCP提供的界面中输入自然语言指令,例如“生成一个直径为2的球体,并将其材质设置为金属蓝”。
-
语言模型处理:MCP将该指令发送给背后的大型语言模型(如OpenAI的GPT系列或其他类似模型)。
-
指令转换:LLM理解指令的意图,并生成一段符合Blender Python API (bpy) 规范的Python脚本。
-
Blender执行:MCP插件在Blender内部执行这段Python脚本。
-
结果呈现:Blender根据脚本指令完成相应的3D模型创建、修改、材质赋予等操作,并实时展现在视窗中。
3、安装与配置的Blender MCP环境
要开始体验自然语言驱动的3D建模,首先需要在你的Blender中安装并配置好MCP插件。
下载blender-mcp,将其clone到本地备用
github地址:ahujasid/blender-mcp
clone下来后在本地如下
安装
先决条件
- trae最新版本
- Blender 3.0 或更高版本
- Python 3.10 或更高版本
- UV 包管理器:
如果您使用的是 Mac,请将 uv 安装为
brew install uv
在 Windows 上
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"
对于 Mac 用户,请转到 设置 > MCP 并粘贴以下内容
- 要用作全局服务器,请使用“添加新的全局 MCP 服务器”按钮并粘贴
要用作项目特定的服务器,请在项目的根目录中创建并粘贴.cursor/mcp.json
{
"mcpServers": {
"blender": {
"command": "uvx",
"args": [
"blender-mcp"
]
}
}
}
对于 Windows 用户,请转到 MCP > 设置 > 添加服务器,使用以下设置添加新服务器:
{
"mcpServers": {
"blender": {
"command": "cmd",
"args": [
"/c",
"uvx",
"blender-mcp"
]
}
}
}
我们这里就在trae中添加
在Blender中安装插件
-
打开Blender。
-
进入 Edit > Preferences(偏好设置) > Add-ons(插件)。
-
点击 从本地安装按钮,然后浏览并选择你clone的blender-mcp里面的addon.py文件。
-
安装完成后,在插件列表中找到该插件(可能名为 "Blender MCP" 或类似名称),勾选其左侧的复选框以启用它。
进行相应的勾选并且获得免费的apikey,也可以自己创建自己的付费apikey,然后连接mcp server
4、牛刀小试
配置完成后,让我们来尝试一些基本的自然语言指令,看看MCP是如何工作的。
示例:
- “在地牢中创建一个低多边形场景,其中一条龙守卫着一罐金子”
- “使用 Poly Haven 中的 HDRI、纹理和模型(如岩石和植被)创建海滩氛围”
- 提供参考图像,并从中创建一个 Blender 场景
- “通过 Hyper3D 生成花园侏儒的 3D 模型”
- “获取有关当前场景的信息,并从中制作 threejs 草图”
- “让这辆车变得红色和金属”
- “创建一个球体并将其放置在立方体上方”
- “让灯光像工作室一样”
- “将摄像机对准场景,并使其等距”
以下是我生成的简单案例:
目前ai能做到这个地步已经非常可喜,但是尝试了通过提供三视图来创建更可控,精度更高的模型并没有成功,相信它能很快变得更好用更强大,更多有趣的玩法有待进一步探索。