社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Git

图片到 3D,Github 上终于有人走通了。

开源日记 • 1 月前 • 133 次点击  


做过3D原型的人一定知道。

无论是用Blender还是手写Three.js,从零开始建模要花费非常多的时间。

用AI图片转3D吧,出来的.glb文件你也改不了。

想改材质?想加动画?对不起,得从头再弄一遍。

我最近看到一个项目,输出的不是网格文件,而是代码。

它的名字是 img2threejs,在 GitHub 上已经有 3500 个 Star 了。

不是输出 .glb,而是输出你可以看到、可以修改的 TypeScript 代码。

思路很新奇,高低得推荐一下。

它就是把一张照片,重建为浏览器里能跑的 Three.js 代码。

来看看实际跑起来是啥样

我打开 Claude Code,我找了一个农村的小房子图片。

让它做成立体的3D。

它先判断这张图能不能做 3D 重建。

太模糊的、主体不明确的直接拦截。

然后自动分析图片,并将物体拆分成部件清单。

各个零部件的外形、材质以及表面细节等全部整理成规格书。

然后就按照雕塑一样由大到小来雕刻。

先画出大概的形状,然后添加细节,再进行细节刻画,给物体上色,最后打光。

八个阶段依次进行,上一个没有通过下一个就不开始。

每个阶段都有单独的验收标准,并不是随便通过。

它把每一个阶段都把结果在浏览器中渲染出来,并且与原始图像一起进行评分。

不像就改,改到像了再继续。

AI 只做一件事,看图判断像不像。

其他的活,全交给确定性脚本。

有人好奇它是怎么做到的

01 脚本干粗活,AI 只做视觉判断。

JSON校验、状态管理、对比图打包等都由确定性的Python脚本来完成。

AI 的 Token 只用在判断的地方——看一张对比图,给出 pass 或 fail。

脚本运行一次几乎不花钱,不需要模型上下文,节省下来的Token都用在刀刃上。

02 规格不够详细就不让写代码。

一个物体有五个部分,但是你的规格只写了其中的一个,直接驳回。

霰弹枪重建
霰弹枪重建

“不合格的spec不配写代码”,从源头上杜绝了半吊子模型。

03 无依赖,只用标准库。

Python脚本只使用标准库,PNG读写用struct和zlib,不需要安装pip,也不需要PIL。

不需要去配置环境,直接运行就可以。

04 角色建模也有专属赛道。

从v1.2版本开始,图片进来要先进行分类:object、character或者hybrid。

角色走独立赛道的时候,头身比、脸型特点、姿态对齐,并不是硬套物体流程。

充电仓翻盖还预设了旋转节点,加开盖动画直接用。

05 细节一个都不能漏。

v1.1 加上细节优先分析,光泽、倒角、螺丝、刻线等每一个细节都要映射到真实的零部件上。

生成的模型不是一坨死几何体,而是把旋转点、插槽、碰撞体都给出来了,用来做动画也方便。

想试的话,装起来很简单

打开ClaudeCode输入:

帮我安装 https://github.com/hoainho/img2threejs.git 

然后在Claude Code中给一张图,运行下面的命令:




    
/img2threejs Rebuild this object as a Three.js model, keep the proportions, angles, and colours.

它会自动完成验证、评估、规格、生成等全部流程,你只需要提供图纸并说明需求,其余部分由它自己完成。

Python脚本也可以单独运行,只需要Python 3.10以上版本,不需要安装任何依赖。

生成的代码可以直接插入到自己的 Three.js 项目中,修改材质、调整光照、添加动画都可以。

不过有几点得提一下

硬质表面物体的效果最好,角色建模是风格化的,并不是照片级别的逼真。

作者自己说,角色赛道是“风格化重建,不是照片级还原”。

单张图看不出来背面的情况,用镜像来推断,README里直接写上“不能保证 100% 还原”。

这种坦诚在开源项目里不常见。

完整的物体一次大约为80k-180k Token,角色为150k-350k,消耗较大。

AI生成的模型在商用的时候要考虑到版权问题,这一点一定要注意。

写在最后

以前用TRELLIS跑图片转3D,出来的.glb文件还是挺好看的。

但是要修改材质、调整比例就无从下手了。

img2threejs 输出的是 TypeScript 代码,打开就可以修改,修改之后就可以运行。

“可编辑”的体验和“只能看”的体验差别很大。

但是它现在的角色建模还是风格化的,并不能和照片级别的相比。

需要的朋友可以是实时。

项目基于 MIT 协议开放,感兴趣的同学可以去 GitHub 仓库看看源码和文档。

开源地址:https://github.com/hoainho/img2threejs

既然看到这了,欢迎随手点赞、在看、转发,也可以给我个星标⭐,接收最新的文章,我们下期见!


Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/199201