Blender低多边形3D模型生成服务

BlendBridge是一个MCP服务器,允许Claude控制Blender 5.0创建低多边形3D模型,专为针对Godot和Bevy的游戏开发工作流程设计。

  • by edg-l
  • Python
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 edg-l/blendbridge

使用说明

BlendBridge

MCP server that lets Claude control Blender 5.0 for creating low-poly 3D models.
Designed for game dev workflows targeting Godot and Bevy.

运作原理

克劳德写完整 bpy Python脚本在Blender中执行,获取视口截图以查看结果,迭代并导出到GLB。

Claude ──MCP──► mcp_server.py ──HTTP──► Blender Addon ──bpy──► Blender
                                                          ◄── screenshot

安装

1.安装Python依赖项

cd /path/to/blendbridge
uv sync

2.安装搅拌机插件

  1. 打开搅拌机5.0
  2. 首选 编辑>首选项>附加组件
  3. 点击 从磁盘安装。..
  4. 导航至 addon/blendbridge_addon/ 然后选择文件夹(或先压缩)
  5. 启用 BlendBridge 在插件列表中

或者,将插件符号链接到Blender的插件目录中:

ln -s /path/to/blendbridge/addon/blendbridge_addon ~/.config/blender/5.0/scripts/addons/blendbridge_addon

然后在Blender的插件首选项中启用它。

3.配置插件(可选)

在Blender的BlendBridge插件偏好设置中:

  • 端口:HTTP服务器端口(默认值:8400)
  • 自动启动:启用插件时启动服务器(默认值:是)

4.在Claude Code中注册MCP服务器

claude mcp add blendbridge -- uv run --directory /path/to/blendbridge python mcp_server.py

就是这样。MCP服务器在本地主机上通过HTTP与Blender插件通信。

配置

编辑 config.yaml 自定义:

# All optional — defaults shown
port: 8400                    # Must match Blender addon port
export_base: ./exports/       # Where exported models are saved
screenshot_dir: /tmp/blendbridge/  # Temporary screenshots
system_prompt: null           # Path to custom .md prompt (null = built-in)

自定义系统提示

内置提示(prompts/default.md)包括bpy模式、低多边形约定和Godot/Bevy导出提示。要覆盖,请执行以下操作:

system_prompt: ~/my-game/blender-style-guide.md

快速测试

  1. 在启用插件的情况下打开Blender 5.0
  2. 启动Claude Code会话
  3. 问克劳德:

在Blender中创建一棵低多边形树并截图

Claude应该编写一个bpy脚本来创建树,执行它,并向您显示视口屏幕截图。

工具

工具 说明
execute_script 在Blender中运行bpy Python脚本
screenshot 使用可配置的着色模式捕获3D视口
set_viewport 定位视口摄影机(预设或自定义角度)
render 全渲染(较慢,以获得最终质量)
get_scene_info 列出带有颜色和边界的对象、灯光、材质
export_model 导出到GODO/Bevy的GLB/glTF
clear_scene 删除所有内容,重新开始

项目结构

blendbridge/
├── README.md
├── pyproject.toml           # Project config + dependencies
├── config.yaml              # MCP server config
├── mcp_server.py            # MCP server (stdio transport)
├── blender_client.py        # HTTP client → Blender addon
├── prompts/
│   └── default.md           # Built-in system prompt
└── addon/
    └── blendbridge_addon/  # Blender addon
        ├── __init__.py      # Addon registration
        ├── server.py        # HTTP server (background thread)
        ├── executor.py      # Main thread script executor
        └── handlers.py      # Request handlers

发展

更新Blender插件

更改中的任何文件后 addon/blendbridge_addon/:

  1. 重新构建zip:

    cd addon && zip -r ../blendbridge_addon.zip blendbridge_addon/ -x "blendbridge_addon/__pycache__/*"
    
  2. 在Blender中: 编辑>首选项>获取扩展 --卸载旧版本

  3. 从磁盘安装 使用新的zip

  4. 重新启动Blender(某些更改需要完全重新启动)

更新MCP服务器

更改为 mcp_server.py, blender_client.py,或 config.yaml 在下一个Claude Code会话中生效(MCP服务器自动重新启动)。

测试插件HTTP服务器

# Health check
curl http://127.0.0.1:8400/health

# Run a script
curl -X POST http://127.0.0.1:8400/execute \
  -H "Content-Type: application/json" \
  -d '{"script": "import bpy; print(list(bpy.data.objects))"}'

# Scene info
curl http://127.0.0.1:8400/scene_info

需求

  • 搅拌机5.0
  • Python 3.10+
  • 紫外线
  • 克劳德代码