拍照转 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
Edit → Preferences → Add-ons → Install,选择
ws_import_addon.zip,并启用它在 3D 视口中按
N→ WS Import 标签页粘贴你的 ngrok URL,但把
https换成wss,并加上/ws?client=blender:wss://abc123.ngrok-free.app/ws?client=blender点击 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。