ESC
开源 2 分钟阅读

camera-to-blender:拍张照片,把现实物体“贴”进 Blender

开源项目 camera-to-blender 让用户用手机拍摄实物照片,经背景移除和 Tripo3D 生成 3D 模型后自动导入 Blender,全程不到一分钟。项目需 Python 3.10+、Blender 3.0+ 和 Tripo3D API key,可选 Gemini API 去除背景,通过 ngrok 支持手机连接,笔记本摄像头亦可使用。

来源:GitHub

拍照转 3D

将手机对准一个物体,拍一张照片,不到一分钟就能看到一个 3D 模型出现在 Blender 中。

拍照 → 去除背景 → 生成 3D 模型 → 自动导入 Blender。

相机界面专为手机设计。你在打开 Blender 的电脑上运行服务器,然后在手机上打开 Web 应用。使用笔记本摄像头也可以。

你需要准备

  • Python 3.10+
  • Blender 3.0+
  • 一个 Tripo3D API key —— 必需,用于生成 3D 模型
  • 一个 Gemini API key —— 可选,用于去除照片背景
  • ngrok —— 手机使用时必需,因为手机摄像头需要 HTTPS

设置

1. 安装

pip install -r requirements.txt
cp .env.example .env

将你的 API key 放入 .env:

TRIPO_API_KEY=your_tripo_api_key_here
GEMINI_API_KEY=your_gemini_api_key_here

2. 启动服务器

uvicorn relay_server:app --host 0.0.0.0 --port 8000

在另一个终端中:

ngrok http 8000

ngrok 会给你一个类似 https://abc123.ngrok-free.app 的 URL。手机和 Blender 都会用到它。

3. 连接 Blender

  1. Edit → Preferences → Add-ons → Install,选择 ws_import_addon.zip,并启用它

  2. 在 3D 视口中按 N → WS Import 标签页

  3. 粘贴你的 ngrok URL,但把 https 换成 wss,并加上 /ws?client=blender:

    wss://abc123.ngrok-free.app/ws?client=blender
    
  4. 点击 Connect。应该会显示 Status: Connected

4. 开始使用

在手机上打开 ngrok URL,允许相机访问,对准一个物体。点击快门,确认照片,然后等待约 30-60 秒。模型准备好后,点击 Send to Blender。

设置项

除 Tripo key 外全部可选。在 .env 中设置:

变量说明
TRIPO_API_KEY必需。用于生成 3D 模型
GEMINI_API_KEY去除照片背景。留空则跳过此步骤,直接使用原照片
PORT服务器端口,默认为 8000

不使用手机运行

要用笔记本摄像头测试,可以跳过 ngrok。打开 http://localhost:8000,并将 Blender 指向 ws://localhost:8000/ws?client=blender。

故障排查

手机上相机无法打开 —— 你需要使用 https:// 开头的 ngrok URL,而不是本地 IP。

“Failed to send to Blender” —— 插件未连接。检查 WS Import 面板是否显示 Connected,并确认你的 URL 以 wss:// 开头、以 ?client=blender 结尾。

ngrok URL 失效 —— 免费 ngrok URL 每次重启都会变化。请用新的 URL 重新连接 Blender。

背景去除失败 —— 通常是 Gemini 配额或 key 的问题。你可以将 GEMINI_API_KEY 留空来跳过此步骤。

项目结构

relay_server.py          服务器:与 API 通信,将模型中继到 Blender
webapp/                  手机相机应用
blender_addon/           插件源码
ws_import_addon.zip      用于安装到 Blender 的插件

如果你修改了插件源码,安装前需要重新打包:

zip -r ws_import_addon.zip blender_addon -x "*/__pycache__/*" "*.pyc"

许可证

MIT —— 见 LICENSE。