wesbos/3d-model-anything
Capture iPhone LiDAR and photos, reconstruct editable Three.js rooms, and explore them in a browser.
功能说明
3D Model Anything 是一套将真实房间转换为可在 Web 浏览器中查看的可编辑 3D 模型的工作流程。您可以使用 iPhone 捕捉房间(记录房间的几何形状和照片),然后 AI 编码代理使用这些捕捉到的数据构建一个 Three.js 场景——一个可以修改并从不同角度查看的 3D 模型。
该项目并非一键转换器。它是一个迭代过程:iPhone 应用程序记录原始证据,而一个单独的“技能”(即 AI 编码代理的一组指令)会引导代理进行测量、建模,并将渲染视图与原始照片进行比较以检查准确性。目前重点是房间和室内空间。
仓库内容
- iPhone 捕捉应用程序(仅源代码;此处不包含 App Store 版本,也不应假设其已存在)
- 一个基于 Web 的 3D 查看器,用于探索重建后的房间(包含娃娃屋、行走、俯视、线框和平铺视图)
- “scan-to-threejs”代理技能——AI 代理执行重建所遵循的指令
- 一个由真实捕捉数据构建的演示办公室场景
简要使用方法
- 查看演示: 需要 Node.js 22.12 或更高版本。运行
npm ci,然后运行npm run dev,并打开 http://localhost:5188。演示办公室仅包含重建的模型和选定的纹理——原始扫描件和照片未分发,因此扫描和叠加功能在演示中被禁用,但在您自己的捕捉数据上可以使用。 - 捕捉您自己的空间: 您需要一台配备 LiDAR 的 iPhone 或 iPad。非 LiDAR 设备可以导入和查看扫描件,但无法进行捕捉。通过系统共享表导出房间,然后将其解压到
data/captures-in/<room>/目录中。 - 运行 AI 代理: 在支持本地技能的代理中打开仓库,将其指向
.agents/skills/scan-to-threejs/SKILL.md处的技能,并要求它根据您提取的导出文件重建房间。它将创建一个可编辑的场景,并将渲染视图与原始照片进行比较。
要求与额外说明
该技能的辅助脚本需要 Python 3 以及用于照片比较的 Pillow。可选的深度重建还需要 NumPy 和 Open3D。捕捉脚本使用 agent-browser CLI。每个新房间都放在 demos/<id>/ 中,并在 demos/index.ts 中注册。
隐私与许可
仅分发办公室演示——不包含其他房间、原始扫描包或开发历史。请保持您自己的捕捉内容私密,并在发布前检查资产。可重用代码和技能采用 MIT 许可;提供的办公室图像和纹理具有单独的资产条款,显示的第三方品牌或产品不在代码许可范围内。
相关
- 项目
- 项目
- 项目
- 项目