开源工具
wechat ·
@极客之家
GitHub 开源神器:一张照片生成 3D 世界,场景、模型、音效全都有
未提供
正文
前两天刷到一条帖子,发帖的人说,GitHub 上有人传了个仓库,扔一张照片进去,五分钟给你一个能走进去逛的 3D 世界:带物理碰撞的网格、背景环境、环境音,全套都有。
他还补了一句,那些花了十年学 Blender 的人,今天一整天都在默默看着这个。
我顺着链接摸过去看了这个仓库,叫 image-blaster,顺手装进 Codex 里跑了一遍。这篇就聊聊我了解到的情况,实际跑起来的效果,还有比较现实的问题。
项目简介
作者是个人开发者 neilsonnn,MIT 协议开源。
这仓库自己是不生成 3D 的。硬要说的话,它更像一本写给 AI 助手看的工作手册,作者把"照片变 3D 世界"这件事拆成了几步,每一步都配了文档和脚本。官方推荐装在 Claude Code 里用,我看了下就是标准的 SKILL.md 结构,所以没走这条路,直接装进了 Codex,一样能跑。
放在以前,想拿一张照片弄出 3D 场景,得自己串好几个服务,生成环境用一个,建物体模型用一个,出音效还得再找一个,每个都要单独对接,挺折腾的。现在这一串步骤被它串成了一条线,你说一句话,它就顺着跑完了。
一张照片能生成什么
默认情况下丢一张照片进去,跑完能拿到三堆文件,我一个个说。
先说环境。 照片里不动的那些部分,墙面、地面、天空,会生成一个能自由漫游的 3D 场景,格式是 .spz 的高斯泼溅,差不多就是一张能走进去的全景照片。
然后是物体。 照片里能搬得动的东西,比如椅子、桌子、箱子,会单独建成 3D 模型,给的是 .glb 和 .obj 两种常见格式。
还有声音。 一段环境循环音,再加上每个物体自己的碰撞音效,都是 mp3。
产物不是只能看的 demo:Unity、Unreal、Godot 能直接拖进去,Blender、3ds Max、Maya 也能开,Three.js 网页里也能嵌。
背后调用的模型
真正干活的是这么几个模型。
环境生成靠 World Labs 的 Marble,就是李飞飞那家公司的产品。物体建模用的是腾讯混元的 3D 模型,音效是 ElevenLabs 出的,这两个都走 FAL 平台调用。过程中还有一道图像编辑,比如把照片里的物体从图里擦掉,默认用 nano-banana,也可以换成 gpt-image-2。
这些模型都不开源,全是收费 API。所以跑这个项目要自备两个 key,一个 World Labs 的,一个 FAL 的,按调用量计费。
实际使用流程
我跑的时候是这样的。
先把仓库 clone 下来,在目录里填好两个 key,然后往 input/ 文件夹里丢一张照片,就是这个小机器人头像,跟它说一句 "blast it and confirm each step with me",让它每跑一步都先跟我确认。
它第一件事是分析照片,然后列出一张清单,写清楚这张照片里哪些东西要建成 3D 模型。列完之后它会停下来等我确认,哪里不对我就直接改。
确认之后才正式开始跑。这里的顺序是有讲究的,得先把清单里这些物体从原图里擦掉,拿到一张干净的空景照片,再拿这张空景去生成环境。
不擦的话会有问题,生成的 3D 环境里会留着残影,直接穿帮。擦掉物体这一步,项目里叫 clean plate,是从影视后期借过来的概念。
擦干净之后就是逐个建物体模型,最后配声音,中间不用我管。
还有个细节我觉得挺舒服。它存文件的时候,原图编号是 0,之后每生成一张新图编号就加一,原图永远不会被覆盖,每次生成还留一份请求记录。哪一步跑废了,顺着编号找回去就行,不用重新花钱。
物体模型的精细度也能调。默认是五万面,想要低多边形风格的话,说一声切成 LowPoly 就行,还能选三角形面还是四边形面,PBR 材质默认开着。
来看看我头像这个小机器人3D成果物交付效果,完成度非常高,难怪十年学 Blender 的人都沉默了。
适用场景和局限
官方说它适合游戏关卡概念、建筑渲染、影视勘景、机器人环境。我实际用下来,最顺手的还是快速出个效果看看。比如做游戏的策划拿一张气氛图,几分钟后就能在里面走动,比对着平面图开会直观多了。
但也有一些局限:
照片拍不到的地方,全是模型自己脑补的,你只给一张房间正面的照片,那背面长什么样就是它编的。所以它生成的世界只能说"像"你的房间,不能当成真实还原。
碰撞体比较粗糙,物体的尺寸、重量这些物理参数都没有校准过,想直接拿去做机器人仿真训练的话,这套产物还不够。
写在最后
跑完一遍,我的感觉是:它把原本要手动拼几天的流程,压成了一句"blast it"。目前出来的东西还比较糙,精细活肯定替代不了,但拿来快速验证个想法是够用了。
仓库地址在下面,有兴趣的自己翻。两个 key 备好,照片丢进去,说一句 blast it,它就开始跑。
开源地址
https://github.com/neilsonnn/image-blaster