img2threejs/img2threejs
img2threejs
给一张物体图片,AI 像雕塑一样分层写 Three.js 代码,重建出可在浏览器里跑、可动画的 3D 模型——不是 mesh 文件,是纯代码。
能用来干嘛
安装到 Claude Code / Codex / OpenCode 后,上传一张物体照片(枪械、刀具、耳机、自行车等硬表面物体),AI 会按照分层雕塑 pipeline 自动重建:blockout(粗略方块)→ structure(结构)→ form(形状细化)→ material(材质)→ lighting(光照)→ interaction(可交互)→ optimization(优化)。每一层都截图跟原图对比,视觉打分通过才进下一层。最终输出一个带 pivot / socket / collider 的 THREE.Group 工厂函数,可直接在浏览器里运行。
核心思路:代码即模型
不同于传统 image-to-3D(NeRF / photogrammetry / 3D Gaussian Splatting 输出 mesh 文件),img2threejs 让 LLM 直接写 TypeScript 代码重建物体。Python 脚本处理所有机械工作(验证、JSON 检查、PBR 提取、对比图打包),模型 token 只花在视觉判断和写代码上。纯 stdlib 实现零依赖,不需要 pip / PIL / numpy。
适合收藏的原因
- Token 效率优先:脚本处理机械工作,模型只做视觉判断和写代码,每轮只生成当前 pass 的代码
- 严格质量门控:
--strict-quality在 spec 太浅时直接阻止生成代码;几何 IoU / 比例 / 对称性有硬性阈值 - 诚实标注局限:单张图看不到背面 → 明确报告哪些区域是推断的,单图不能保证 100% 还原
- 输出可 diff:TypeScript + JSON spec,版本可控,不是几十 MB 的 mesh 二进制
- Agent 无关:Claude Code / Codex / OpenCode 都能用,只需视觉能力
快速上手
# 安装到 skills 目录
git clone https://github.com/img2threejs/img2threejs.git ~/.claude/skills/img2threejs
# 在 Claude Code 里上传图片并调用
/img2threejs Rebuild this object as a Three.js model