从照片到可漫游的 3D 世界:image-blaster 图片转 3D 完整实操指南
【免费下载链接】image-blasterAn image-to-world skillset for Claude.项目地址: https://gitcode.com/gh_mirrors/im/image-blaster
image-blaster 是一个面向 Claude 的图片转 3D 技能包:输入一张照片,它会调度多个生成模型,产出可漫游的高斯泼溅(Gaussian Splat)静态环境、独立的 GLB 动态物体模型,以及配套的环境与碰撞音效,整个流程通常在几分钟内完成。适合希望用图片转 3D 工作流快速预演游戏关卡、机器人训练场景或空间内容的开发者、技术美术与创作者。
先看产出:一个世界由哪些文件组成
image-blaster 的交付物按资产类型分成三类,全部归档在worlds/<世界名>/output/下:
| 资产 | 生成模型 | 格式 | 说明 |
|---|---|---|---|
| 静态可漫游环境 | World Labsmarble-1.1 | .spz | 高斯泼溅场景,可在查看器中自由走动 |
| 动态物体模型 | hunyuan-3d(FAL,可换meshy) | .glb/.obj | 每个可分离物体一个独立模型 |
| 环境音与碰撞音效 | elevenlabs-sfx | .mp3 | 世界循环环境音 + 逐物体的撞击音 |
此外,流程中的图像修图环节默认使用nano-banana,也可切换gpt-image-2,用于生成"干净底片"和物体参考图。
上图为仓库内置示例中蝴蝶 GLB 模型的翅膀纹理。这个例子也说明了动态物体的判定标准:一只蝴蝶是"能被搬走"的物体,所以单独建模;而地面、墙面、家具这类固定结构归入静态环境,由高斯泼溅场景承载。
它怎么分工:六个 Claude Skill 各管一段
所有生成逻辑以 Claude Skill 的形式定义在 .claude/skills/ 目录下,你只需对 Claude 下达指令,由它自动调度各技能:
image-blast-project— 建立worlds/<世界名>/目录骨架,包含source/、output/world/、output/sfx/等目录及project.json、image.json等状态文件image-blast-uncover— 读取图片,提取可搬走的动态物体,写入场景描述image.json,然后暂停等待你确认image-blast-plate— 用图像编辑从原图中移除已确认的物体,产出"干净底片"image-blast-world— 把底片提交给 World Labs,生成.spz世界并把全部关联资产下载到本地image-blast-3d— 为每个确认的物体生成独立 3D 模型image-blast-sfx— 生成 10 秒循环环境音,以及每个物体的短撞击音
"先移除、后生成"是这条链路的关键:杯子一旦确认为动态物体,就会先从底片中擦除,世界生成时不会再把它烘焙进泼溅场景,最终它只以独立 GLB 的身份出现在画面里,避免了重影。
安装与首次运行:image-blaster 上手步骤
git clone https://gitcode.com/gh_mirrors/im/image-blaster cd image-blaster- 安装 Claude CLI,并在项目根目录运行
claude - 参照 .env.example 建立
.env,填入两个 Key:WORLD_LABS_API_KEY负责世界生成,FAL_KEY负责 3D 模型、音效与图像编辑 - 把要处理的图片放入
input/目录 - 在对话中让 Claude 执行完整流程,并要求它在每个阶段暂停向你确认;结束后各阶段产物统一归档在
worlds/<世界名>/output/
💡 图片分析与物体确认阶段不调用付费生成接口。建议先让 Claude 列出它识别到的物体,挑出要建模的对象,再进入后面的付费生成步骤,避免不必要的开销。
浏览器查看器:如何漫游自己生成的世界
仓库自带一个 React + Three.js 查看器。在根目录启动后,它会从本地worlds/目录自动列出所有已生成的世界:
bun run dev- 侧边栏(
WorldSidebar)可切换不同世界,以及同一世界的多个版本 - 按
`反引号键隐藏全部界面,进入纯探索模式 - 支持触屏操作,也可以环绕某个物体查看
查看器的光照由内置的全景环境贴图驱动,无需自己布光:
入口组件是 WorldViewer.tsx。它只加载磁盘上的本地.spz、模型与音频文件,不会直接从服务商地址拉资源,生成中断时也可以断点续传。
调优动态物体:Hunyuan 3D 参数与 Meshy 切换
hunyuan-3d默认产出约 5 万面、带 PBR 材质的贴图模型。需要更高精度或更轻的模型时,可以在对话中让 Claude 为image-blast-3d技能附加以下参数:
| 参数 | 作用 | 默认值 |
|---|---|---|
--face-count | 目标面数,范围 40000~1500000 | 50000 |
--generate-type | Normal贴图模型 /LowPoly低模减面 /Geometry纯白几何体 | Normal |
--enable-pbr | 是否生成 PBR 材质 | true |
--polygon-type | LowPoly模式下的多边形类型 | triangle |
--provider meshy | 将 3D 提供商切换为 Meshy | hunyuan |
产物去向:引擎、DCC 与 Web 项目
三类交付物都是通用格式,可直接接入现有管线:
- 游戏引擎:Unity、Unreal、Godot
- DCC 软件:Blender、3ds Max、Maya
- Web 端:Three.js 网页应用或 Electron 应用
一个常见用法是拿它做前期预演:用参考图生成一版可走动的环境和动态道具,先放进引擎里验证动线与比例,个别不满意的部件再回到传统建模环节单独重做。把照片放进去,把确认权留给自己,剩下的交给这组技能即可。
【免费下载链接】image-blasterAn image-to-world skillset for Claude.项目地址: https://gitcode.com/gh_mirrors/im/image-blaster
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考