AI 3D模型生成与编辑工具

一个基于AI的图像转3D模型生成工具,支持通过自然语言指令实时编辑3D模型,适用于3D设计师和开发者。

  • by AI-3D-Graduation
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 AI-3D-Graduation/Blender_MCP_version

使用说明

(并没有完全按照标准MCP协议进行实施,而是最大限度地实现了与MCP的相似性。)

说明如何与搅拌机配合使用

  1. 下载Blender(从Web而不是Steam Blender下载Blender更方便)
  2. 运行混合器
  3. 点击顶部众多标签中最右侧的Scripting
  4. 单击选项卡正下方的文件夹图标Open
  5. blender_mcp_addon.py选择并放入
  6. 单击“播放图标”(Run Script)按钮运行
  7. 单击左侧的Window选项卡
  8. 将带有调试标志的系统控制台切换为取消设置
  9. 控制台
🚀 Blender MCP Server started in background
⏳ Waiting for MCP to connect on port 9876...
✅ Blender listening on localhost:9876 (waiting for MCP connection)

这样浮着就过去了

  1. 准备两个后端终端

  • 后端和混合器连接
    venv\Scripts\python.exe -m blender_mcp.server
    
  • 后端运行
    uvicorn app.main:app --reload --host 0.0.0.0 --port 8000
    
  1. 在搅拌机控制台中

    ✅ MCP connected from ('127.0.0.1',
    

    有这样的话连接成功

  2. 前台运行

  3. 创建3D模型后单击编辑按钮

  4. 屏幕上的左半部分是前台,右半部分是混合(虽然不是必需的,但这样看起来很方便)

  5. 聊天时编辑模型





主要功能

🖼️ 图像到3D

  • 上传单个图像以创建高质量3D模型(GLB)
  • 利用Meshy AI API自动3D转换
  • 实时进度显示和任务状态跟踪

🎨 基于AI聊天的3D编辑

  • Claude AI和Blender MCP集成处理自然语言命令
  • 实时编辑和预览模型
  • 支持多种编辑命令:
    • 改变颜色(“换成红色”)
    • 添加对象(“请在上面添加球”)
    • 调整大小/旋转(“放大一倍”,“旋转90度”)
    • 改变材质(“换成金属材质”)
    • 平滑/细化(“使其更柔软”)

🌐 交互式3D查看器

  • 基于Three.js的实时3D模型渲染
  • 360度旋转,支持缩放
  • 调节照明亮度
  • GLB格式型号下载

📧 电子邮件通知

  • 完成模型创建时自动发送电子邮件
  • 直接提供结果页面链接

🏗️ 技术堆栈

前端

  • 反应 使用TypeScript
  • Three.js /React Three Fiber-3D渲染
  • Tailwind CSS -造型
  • 阿西奥斯 -API通信
  • React路由器 -路由

后端

  • 快速API -REST API服务器
  • Python 3.10+
  • 瑞迪斯 -管理任务状态
  • 美诗AI API -将图像转换为3D
  • API人类克劳德 -自然语言处理
  • 搅拌机MCP -编辑3D模型

基础设施

  • 搅拌机4.5+ -3D编辑引擎
  • 双向通信 -实时通信
  • 简单邮件传输协议 -发送电子邮件

📋 前提条件

必需软件

  • Python 3.10或更高版本
  • Node.js 16或更高版本
  • 瑞迪斯 (用于WSL或Windows)
  • Blender 4.5或更高版本

API密钥

🚀 安装和运行

1.存储库克隆

git clone https://github.com/yourusername/recollector.git
cd recollector

2.安装和运行Redis

WSL(推荐):

wsl redis-server --daemonize yes

Redis确认:

wsl redis-cli ping
# 응답: PONG

3.后端设置

cd Recollector_Backend

# 가상환경 생성
python -m venv venv

# 가상환경 활성화
# Windows:
venv\Scripts\activate
# Mac/Linux:
source venv/bin/activate

# 패키지 설치
pip install -r requirements.txt

# 환경 변수 설정
cp .env.example .env
# .env 파일을 편집하여 API 키 입력

.env文件设置:

# Meshy AI API
MESHY_API_KEY=your_meshy_api_key
MESHY_API_BASE_URL=https://api.meshy.ai/openapi/v1

# Redis
REDIS_HOST=localhost
REDIS_PORT=6379
REDIS_DB=0

# Email (선택사항)
MAIL_USERNAME=your_email@gmail.com
MAIL_PASSWORD=your_app_password
MAIL_FROM=your_email@gmail.com
MAIL_SERVER=smtp.gmail.com
MAIL_PORT=587
MAIL_FROM_NAME=Recollector

# Anthropic API (Blender MCP용)
ANTHROPIC_API_KEY=your_anthropic_api_key

后端运行:

uvicorn app.main:app --host 127.0.0.1 --port 8000 --reload

4.设置Blender MCP服务器

  1. Blender运行
  2. 脚本选项卡转到
  3. Recollector_Backend/blender_mcp_addon.py 打开文件
  4. 运行脚本 (▶按钮或Alt+P)
  5. 从控制台验证:
    ✅ Blender listening on localhost:9876
    

5.前端设置

cd recollector_frontend

# 패키지 설치
npm install

# 개발 서버 실행
npm start

在浏览器中 http://localhost:3000 连接

📖 使用方法

步骤1:上传图像

  • 在主页上单击“Upload Picture”
  • 选择或拖放图像文件
  • 单击“Generate 3D Model”按钮

步骤2:等待创建3D模型

  • 实时进度检查
  • (可选)输入电子邮件地址以接收完成通知
  • 平均处理时间:2-3分钟

步骤3:检查和下载3D模型

  • 在交互式3D查看器中查看模型
  • 使用鼠标旋转/放大/缩小
  • 使用亮度调节滑块
  • 使用“Download Model”按钮下载GLB文件

步骤4:使用AI编辑模型(可选)

  • "🎨 单击Edit with AI“按钮
  • 在聊天窗口中输入自然语言命令:

编辑示例:

"색상을 빨간색으로 바꿔줘"
"모델 위에 구를 추가해줘"
"크기를 2배로 키워줘"
"금속 재질로 바꿔줘"
"모델을 더 부드럽게 만들어줘"
"90도 회전시켜줘"
  • 编辑的模型将自动保存并显示在查看器中
  • 通过“初始化对话”按钮恢复到原始

🎨 Blender编辑命令

类别 命令示例 说明
改变颜色 “换成红色” 应用RGB颜色
添加对象 “向上添加正六面体” 添加立方体、球、圆柱等
调整大小 “放大一倍” 更改模型大小
旋转“旋转90度”X/Y/Z轴旋转
改变材质 “换成金属材质” 调整Metallic/Roughness
使用Shade Smooth
细分 “做得更细致” Subdivision Surface

🗂️ 项目结构

recollector/
├── Recollector_Backend/          # FastAPI 백엔드
│   ├── app/
│   │   ├── main.py               # FastAPI 앱 진입점
│   │   ├── api/endpoints/        # API 라우트
│   │   │   ├── generation.py    # 3D 생성 API
│   │   │   └── blender_edit.py  # Blender 편집 API
│   │   ├── core/
│   │   │   └── config.py         # 환경 설정
│   │   ├── services/
│   │   │   ├── ai_pipeline.py   # Meshy AI 통합
│   │   │   ├── blender_mcp_service.py # Blender 통신
│   │   │   └── email_service.py # 이메일 발송
│   │   └── schemas/              # Pydantic 스키마
│   ├── blender_mcp_addon.py     # Blender 소켓 서버
│   ├── requirements.txt          # Python 의존성
│   ├── .env.example             # 환경 변수 예시
│   └── static/models/           # 생성된 GLB 파일
│
├── recollector_frontend/         # React 프론트엔드
│   ├── src/
│   │   ├── pages/               # 페이지 컴포넌트
│   │   ├── component/           # UI 컴포넌트
│   │   ├── entities/            # API 클라이언트
│   │   ├── features/            # 비즈니스 로직
│   │   └── shared/              # 공유 컴포넌트
│   ├── public/
│   └── package.json
│
├── BLENDER_MCP_SETUP.md         # Blender MCP 설정 가이드
└── README.md                     # 이 파일

🔧 故障射击

Redis连接错误

ConnectionRefusedError: [WinError 10061]

解决方法:

# Redis 서버 시작
wsl redis-server --daemonize yes

# 상태 확인
wsl redis-cli ping

Blender MCP超时

症状: 发送编辑命令后无响应

解决方法:

  1. 验证Blender是否正在运行
  2. blender_mcp_addon.py 验证脚本是否正在运行
  3. 在Blender控制台中查看“告知Blender listening on localhost:9876”消息
  4. 验证端口9876是否可用

模型创建失败

原因: Meshy AI API积分不足或API密钥错误

解决方法:

  1. .env 文件的 MESHY_API_KEY 确认
  2. Meshy AI仪表板检查中的信用
  3. 验证API密钥权限

编辑历史消失

原因: 单击“初始化对话”按钮或刷新页面

解决方法:

  • 编辑将连续进行
  • 单击“初始化对话”返回到源
  • 编辑的模型 {task_id}_edited.glb另存为