Blender AI控制插件

Blender MCP是一个Blender 4.0+插件,通过实现模型上下文协议(MCP),允许AI助手以编程方式创建、修改和导出3D资产,适用于游戏开发、3D艺术创作和技术艺术流水线。

  • by emeryporter
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 Bluepuff71/blender-mcp

使用说明

搅拌机MCP

使用AI控制搅拌机。 Blender 4.0+插件,运行模型上下文协议(MCP)服务器,使Claude等AI助手能够以编程方式创建、修改和导出3D资产。

什么是Blender MCP?

Blender MCP弥合了AI语言模型和专业3D内容创作之间的差距。通过实施模型上下文协议,它允许AI助手理解Blender场景,生成程序几何,验证游戏引擎的资产,并自动化复杂的3D工作流程——所有这些都是通过自然语言完成的。

非常适合:

  • 游戏开发者 需要具有自动验证功能的Unity就绪资产
  • 3D艺术家 寻求人工智能辅助的程序生成和自动化
  • 技术艺术家 构建人工智能驱动的资产管道
  • 开发者 将人工智能集成到3D内容工作流程中

主要特点

86专用工具

场景反思

  • 查询场景层次结构、对象属性和数据块
  • 检查网格、材质、电枢和动画
  • 分析修改器、约束和节点图
  • 以结构化格式导出场景信息

物体操控

  • 以编程方式创建、修改和删除对象
  • 管理转换、养育和收集
  • 应用和配置修改器和约束
  • 具有完全控制权的复制和实例对象

使用BMesh进行网格编辑

  • 从顶点和面数据创建网格
  • 编辑几何图形(拉伸、斜切、细分、合并)
  • 设置顶点颜色、UV和权重
  • 布尔运算(并集、差分、交集)

视觉捕捉

  • 从单个或多个角度的视口截图
  • 带有高光和标签的带注释渲染
  • 比较和差异可视化之前/之后
  • 节点编辑器和时间线捕获
  • 使用帧序列进行动画录制

Unity集成

  • 标准、URP和HDRP的管道剖面图
  • 网格验证(顶点限制、UV、法线、n-gons)
  • 使用骨骼映射验证人形装备
  • 材料兼容性检查和转换
  • 带有管道特定设置的FBX导出

过程生成

12种网格类型:

  • 地形(基于噪声,高度图)
  • 建筑(墙壁、地板、楼梯、柱子、拱门)
  • 有机形状(岩石、树干)
  • 参数化图元(齿轮、弹簧、圆环结)

9材料模板:

  • 天然材料(木纹、大理石)
  • 表面效应(织物、边缘磨损、划痕、污垢)
  • 图案(砖、瓷砖、六边形)

10个几何节点模板:

  • 分布(散射、线性/径向/网格阵列)
  • 曲线公用设施(管道、轨道、电缆)
  • 变形器(弯曲、扭曲、锥度)

8种动画模式:

  • 程序性动作(怠速呼吸、弹跳、摆动、钟摆)
  • 驱动器(正弦、噪声、弹簧、基于表达式)

脚本生成

  • 从模板生成独立的Python脚本
  • 使用正确的注册创建自定义Blender插件
  • 构建自定义运算符和UI面板
  • 导出带有依赖关系和文档的脚本

安装

来自GitHub发布(推荐)

  1. 下载 blender_mcp.zip 从 发布
  2. 在Blender中: 编辑>首选项>附加组件
  3. 点击 安装。.. 并选择下载的zip文件
  4. 在插件列表中启用“Blender MCP”
  5. MCP面板出现在3D视口侧栏中(按 N > 主控程序 选项卡)

快速开始

1.启动服务器

选项A:手动启动

  1. 打开搅拌机
  2. 按 N 要打开侧边栏,请转到 主控程序 标签
  3. 点击 启动服务器

选项B:自动启动

  1. 首选 编辑>首选项>附加组件>Blender MCP
  2. 启用 自动启动服务器
  3. Blender启动时服务器自动启动

服务器运行在 http://localhost:9876 默认情况下(流式HTTP传输)。

2.连接克劳德代码

快速设置 -在终端中运行以下命令之一:

# User-level (available across all projects)
claude mcp add --transport http --scope user blender http://127.0.0.1:9876

# Project-level (current project only, default)
claude mcp add --transport http blender http://127.0.0.1:9876

范围选项:

范围 描述 配置位置
--scope user 适用于您的所有项目 ~/.claude.json
--scope local 仅当前项目,私有(默认) .mcp.json
--scope project 当前项目,与团队共享 .mcp.json

或手动 -添加到您的设置文件中:

{
  "mcpServers": {
    "blender": {
      "type": "http",
      "url": "http://127.0.0.1:9876"
    }
  }
}

对于用户级别: ~/.claude.json |对于项目级别: .mcp.json 在项目根中

3.开始创建

让Claude通过自然语言控制Blender:

场景分析

"Show me what's in the current scene"
"List all mesh objects with their vertex counts"
"What modifiers are applied to the Cube?"

对象创建

"Create a UV sphere at position (0, 0, 2) with radius 1.5"
"Add a subdivision surface modifier to the sphere with 2 levels"
"Duplicate the sphere 5 times in a grid pattern"

过程生成

"Generate a procedural terrain mesh with noise displacement"
"Create a brick wall material with realistic wear"
"Generate a torus knot with 3 coils and 7 twists"

视觉捕捉

"Take a screenshot of the viewport from the front, side, and top"
"Render a quick preview of the current frame"
"Create a before/after comparison showing the modifier effects"

Unity集成

"Set the Unity export profile to URP"
"Validate this character mesh for Unity humanoid rig"
"Check if these materials are compatible with HDRP"

自动化

"Select all objects with subdivision modifiers and reduce their levels to 1"
"Export all meshes in the 'Props' collection as FBX for Unity"
"Generate a Python script that creates a procedural city block"

配置

插件首选项

通过以下方式访问 编辑>首选项>附加组件>Blender MCP:

设置 说明 默认值
服务器端口 MCP连接的TCP端口 9876
自动启动服务器 Blender启动时启动服务器 已禁用
团结目标 默认Unity渲染管道 URP
脚本输出目录 生成脚本的位置 //scripts/
日志级别 日志记录详细程度(调试/信息/警告/错误) 信息
扩展路径 自定义MCP扩展的其他路径 空

侧边栏面板

MCP侧边栏面板(View3D>侧边栏>MCP)显示器:

  • 服务器状态(运行/停止)
  • 服务器地址和端口
  • 已连接客户端数
  • 注册刀具计数
  • 快速启动/停止/重启控制

工具类别

搅拌机MCP提供 86工具 按类别组织:

反思(查询不修改)

工具 说明
scene_get_overview 场景设置、帧范围、渲染配置
scene_get_hierarchy 具有可见性状态的完整对象/集合树
blend_get_data_blocks 按类型(网格、材质等)列出数据块
blend_get_libraries 链接/附加的图书馆信息
object_get_info 对象变换、尺寸和属性
object_get_modifiers 带有参数的完整修改器堆栈
object_get_constraints 约束设置和目标
mesh_get_info 顶点/边/面计数、拓扑分析
material_get_info 材料属性和节点设置
armature_get_info 骨骼层次和变形设置

操纵(创建和修改)

工具 说明
object_create 创建图元、空对象、摄影机、灯光
object_modify 设置变换、父对象、可见性、集合
object_delete 使用层次选项删除对象
object_duplicate 复制对象(链接或完全复制)
modifier_add 添加修改器(细分、数组等)
modifier_remove 删除特定修饰符
modifier_set 修改修改器参数
constraint_add 添加约束(复制位置、轨迹等)
constraint_remove 删除约束
constraint_set 配置约束参数

网格(B网格级别编辑)

工具 说明
mesh_create_from_data 从顶点、边、面创建网格
mesh_edit 挤出、斜切、细分、合并操作
mesh_transform 变换选定几何体
mesh_set_attribute 设置顶点颜色、UV、顶点组
mesh_boolean_combine 布尔运算(并集、差分、交集)

视觉(捕获和渲染)

工具 说明
viewport_screenshot 具有透明度的单视口捕捉
viewport_screenshot_angles 多角度捕捉(正面、侧面、顶部等)
viewport_annotated 带有注释和突出显示的屏幕截图
viewport_compare 分屏前/分屏后比较
viewport_diff 视觉差异突出显示
render_preview 快速渲染,但质量降低
render_region 渲染特定帧范围
nodes_screenshot 捕获节点编辑器图形
animation_record 将动画记录为图像序列

材质(基于节点的材质)

工具 说明
material_create 使用节点设置创建新材质
material_set_property 设置材料属性(颜色、粗糙度等)
material_assign 为对象或面指定材质
material_node_add 添加着色器节点
material_node_connect 连接节点插座
procedural_material 生成程序材料(木材、大理石等)

程序化(从算法生成)

工具 说明
procedural_mesh 生成地形、建筑、有机形状
mesh_from_description 自然语言到几何体的转换
geometry_nodes_template 创建几何节点设置(散点、阵列等)
animation_pattern 生成程序动画

Unity(游戏引擎集成)

工具 说明
unity_set_profile 设定目标管道(标准/URP/HDRP)
unity_get_profile 获取当前配置文件设置
unity_validate_mesh 检查顶点限制、UV、比例、法线
unity_validate_rig 验证人形骨骼映射
unity_validate_materials 检查材料兼容性
unity_export_fbx 使用特定于管道的FBX设置导出

脚本编写(代码生成和执行)

工具 说明
execute_python 在Blender上下文中运行任意Python代码
script_generate 从模板生成独立脚本
addon_generate 使用UI创建自定义Blender插件
operator_generate 通过注册构建自定义操作员

有关包含参数和示例的完整工具文档,请参阅 docs/tools.md.

Unity集成

Blender MCP包括用于Unity游戏开发工作流程的专用工具。

管道剖面图: 为标准、URP或HDRP管道配置搅拌机,并自动:

  • 材质设置(PBR工作流、纹理通道)
  • 网格优化(顶点限制、LOD准备)
  • FBX导出设置(轴转换、比例、烘焙选项)

验证工具: 确保资产符合Unity要求:

  • 网格验证: 顶点计数限制、UV通道、正常一致性、n边形检测
  • 钻机验证: 人形骨骼映射、层次检查、绑定姿势验证
  • 材料验证: 着色器兼容性、纹理分辨率、通道使用

出口自动化: 一键式FBX导出,具有特定于配置文件的设置,可实现最佳的Unity导入。

看 docs/unity-integration.md 了解详细的示例和最佳实践。

建筑

插件遵循模块化架构:

blender_mcp/
├── server/          # MCP TCP server implementation
├── registry.py      # Tool registration decorator system
├── base.py          # Base types, errors, utilities
├── tools/           # Tool implementations by category
│   ├── introspection.py
│   ├── manipulation.py
│   ├── mesh.py
│   ├── visual.py
│   ├── materials.py
│   ├── procedural.py
│   ├── unity.py
│   └── scripting.py
├── generators/      # Procedural generation algorithms
│   ├── mesh_gen.py
│   ├── material_gen.py
│   ├── geonodes_gen.py
│   └── animation_gen.py
├── unity/           # Unity pipeline profiles and validation
└── extensions/      # Extension system for custom tools

工具注册: 使用注册工具 @register_tool 装饰师:

from blender_mcp.registry import register_tool, ToolResult

@register_tool(
    name="my_custom_tool",
    description="Does something useful in Blender",
    parameters={
        "object_name": {
            "type": "string",
            "description": "Name of the object to modify"
        }
    },
    category="manipulation",
)
def my_custom_tool(object_name: str) -> ToolResult:
    """Implementation of custom tool."""
    import bpy

    obj = bpy.data.objects.get(object_name)
    if obj is None:
        return ToolResult.error(f"Object '{object_name}' not found")

    # Perform operations...

    return ToolResult.success(data={"modified": object_name})

用例

人工智能辅助3D建模

让Claude通过迭代细化创建复杂的几何体:

  • “创建一个由8块面板组成的低聚合物宇宙飞船船体”
  • “为表面添加装饰和细节”
  • “生成带斜面边缘的驾驶舱窗户”

自动化资产管道

通过人工智能协调构建生产管道:

  • 使用一致的修饰符批量处理多个对象
  • 验证整个资产库的游戏引擎兼容性
  • 生成多边形数量减少的LOD链
  • 使用命名约定导出有组织的FBX批次

程序内容生成

利用人工智能指导的程序工具:

  • “打造一个建筑高度各异的中世纪街区”
  • “用散落的岩石和树桩创造一个森林地面”
  • “用模块化墙板建造一条科幻走廊”

学习和原型制作

在AI指导下探索Blender的功能:

  • “演示如何使用几何节点进行实例化”
  • “创建一种看起来像风化铜的材料”
  • “演示细分方法之间的差异”

故障排除

服务器无法启动

端口已在使用中

  • 检查是否有其他应用程序正在使用端口9876
  • 更改端口 编辑>首选项>附加组件>Blender MCP
  • 尝试使用9877、9878等端口。

Python错误

  • 打开Blender的系统控制台(窗口>切换系统控制台 在Windows上)
  • 检查是否有指示缺少依赖项的错误消息
  • 确保您运行的是Blender 4.0或更高版本

客户端无法连接

连接被拒绝

  • 验证服务器是否正在运行(检查侧边栏面板状态)
  • 确保防火墙允许在配置的端口上进行本地连接
  • 确认客户端配置了正确的主机和端口
  • 尝试重新启动Blender和MCP客户端

连接超时

  • 检查防病毒软件是否阻止连接
  • 验证没有VPN干扰本地主机连接
  • 尝试明确使用 127.0.0.1 而不是 localhost

工具失败或返回错误

模式相关错误

  • 许多工具需要对象模式;运行前退出编辑模式
  • 检查Blender的信息编辑器是否存在操作员错误
  • 确保对象未被锁定或隐藏

对象未找到

  • 对象名称区分大小写:“Cube”≠“Cube”
  • 检查对象名称中的尾随空格
  • 使用 scene_get_hierarchy 验证确切的对象名称

修改器/约束错误

  • 某些修改器需要特定的对象类型(例如,细分需要网格)
  • 约束需要有效的目标
  • 检查修饰符顺序——某些修饰符冲突

性能问题

  • 大型场景可能会减慢内省工具的速度
  • 使用屏幕截图工具时降低视口复杂性
  • 在密集操作期间禁用自动保存

贡献

欢迎投稿!我们感谢:

  • Bug报告和功能请求通过 GitHub 问题
  • 拉取bug修复、新工具或文档改进请求
  • 与社区共享的扩展和插件

贡献:

  1. 分叉存储库
  2. 创建要素分支(git checkout -b feature/amazing-tool)
  3. 使用明确的提交消息进行更改
  4. 在Blender 4.0中彻底测试+
  5. 提交一个包含更改描述的拉取请求

开发设置:

  • 使用开发安装方法(符号链接)
  • 在插件首选项中启用“调试”日志级别
  • 查看Blender的系统控制台以获取详细日志
  • 遵循现有的代码风格和结构

创建自定义工具:

  • 将工具放置在适当的类别文件中 tools/
  • 使用 @register_tool 自动注册装饰器
  • 遵循参数模式格式进行类型验证
  • 返回 ToolResult.success() 或 ToolResult.error()
  • 清楚地记录参数和返回值

创建扩展:

  • 看 extensions/example/ 模板结构
  • 将扩展放置在配置的扩展路径中
  • 使用首选项中的重新加载按钮测试更改

需求

软件:

  • 搅拌机4.0或更高版本(建议使用4.2+)
  • Python 3.10+(Blender附带)
  • MCP兼容客户端(克劳德代码等)

操作系统:

  • Windows 10/11
  • macOS 10.15+
  • Linux(Ubuntu 20.04+、Fedora 36+等)

可选:

  • Unity 2021.3+(用于Unity集成功能)
  • Git(用于开发安装)

许可证

MIT许可证-请参阅 许可证 文件以获取详细信息。

版权所有(c)2026 Blender MCP贡献者

致谢

链接

  • github: https://github.com/Bluepuff71/blender-mcp
  • 文档: docs/tools.md
  • Unity集成: docs/unity-integration.md
  • MCP规范: https://modelcontextprotocol.io/
  • Blender Python API: https://docs.blender.org/api/current/

准备好将AI与3D融合了吗? 安装Blender MCP,今天就开始用Claude创建。