Community图像github.com

图片转3D雕塑

将任何主题的一张图片(AI图像、渲染图、手办或产品照片、画作或先转为图像的想法)转换为一个水密3D雕塑,该雕塑根据图片进行测量,并在Blender中逐步记录。

图片转3D雕塑 是什么?

该技能将单张输入图像转换为可验证的3D雕塑,确保每个可见表面都精确匹配原图的法线、轮廓和深度,而隐藏表面则通过生成的视图填充,这些视图必须首先相互对齐。支持多种输入类型,包括AI生成图像、照片、带透明背景的PNG、草图以及多张照片。工作流程包括前端映射(蒙版、深度、焦距和法线)、生成缺失视角、视觉外壳构建、多阶段拟合(包括切割、平滑和抛光),以及最终在Blender中生成时间流逝动画和导出GLB/OBJ/STL格式。关键特性包括严格注册每个视图、使用独立的测试视图进行验证、基于预算的API调用管理,以及所有步骤的完整记录,可在Blender中回放。该技能通过CLI脚本(`i2s.py`)实现自动化,内置硬性规则确保精确性和可重复性,例如照片控制其可见区域、所有操作的精确距离场计算,以及每次修改前的视觉检查点。

兼容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/gokayfem/image-to-sculpt/tree/HEAD/skills/image-to-sculpt

Installed? Explore more 图像 skills: steipete/songsee, affaan-m/frontend-design, mattpocock/improve-codebase-architecture · View all 6 →

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

图片转3D雕塑 是做什么的?

输入一张图片,输出一个可验证的雕塑:图片显示的每一个表面都根据该图片自身的法线、轮廓和深度在该图片的相机中拟合,每一个隐藏表面都来自首先生成且必须相互一致的视图,并且构建的每一步都在Blender中记录和回放。

输入路由

任何输入最终都会进入相同的大小写布局(i2s.py new CASE --input ...)。详情:references/inputs.md。

输入操作备注
角色/生物/物体渲染图或AI图像new → run主要路径
真实物体照片(手办、玩具、产品、雕像)new --kind photo → runMoGe提供真实焦距和深度
带透明背景的PNG裁剪图new → runAlpha通道作为蒙版;无需蒙版调用
包含多个元素的复杂图像prep --select "the red dragon"SAM-3选取主题
画作、草图或平面插图prep --restylenano banana先将其转换为3D渲染,保持姿态
同一物体的多张照片views --import DIR你的照片替换生成的视图;通过配准找到角度
仅有一个想法imagine OUT.png "idea" → new生成一个清晰的全身渲染作为起点
没有API密钥裁剪PNG(+你自己的视图)仅正面也可行:轮廓被膨胀,后部深度为猜测值

工作流程

在每一个检查点发布标记的视觉结果(checks/sheet_*.png,视图图表,转台帧):首先是图像,其次是数字。修复轮次会添加步骤;任何记录的内容都不会被编辑。

  1. 框架搭建。 i2s.py new CASE --input IMG --subject "简短名词短语"。查看图像并自己编写主题短语("矮胖卡通巨魔","陶瓷猫头鹰雕像"):它会进入每个视图提示中。输入被复制,带有其sha256值,并填充到最近的生成器宽高比,因此所有视图共享一个镜头。
  2. 前端映射。 i2s.py prep CASE(蒙版、MoGe-3深度+焦距、Marigold法线;单位根据主题归一化)。在继续之前检查ref/front_mask.png和ref/front_normals.png。选错主题 → --select。草图 → --restyle。
  3. 视图。 i2s.py views CASE(9个视图+1个保留视图,预计约$2;--set minimal为5个)。查看每个生成的图像:改变姿态、多余肢体或裁剪的主题都是坏视图。配准将拒绝不一致的视图(IoU < 0.80与其他视图外壳比较),但说明你看到的情况。没有被任何视图看到的区域需要从可以看到这些区域的角度添加新视图(--angles "-30:25"),而不是增加平滑度(references/views.md)。
  4. 外壳。 i2s.py hull CASE:配准每个视图(请求的角度只是先验:左右翻转被找到,前后保持),重新居中,筛选,记录雕刻,对称检测。在case.json中读取配准后的角度;i2s.py symmetry CASE on|off覆盖检测到的镜像平面。
  5. 拟合。 i2s.py fit CASE --stage all(形状→表面→细节,38次记录通过),然后cut(打开手指、腿部、手臂和身体之间照片显示的间隙),smooth(去除网状物和斑点),fit --stage polish。i2s.py run CASE按顺序执行步骤2-8,使用此默认计划(references/fitting.md)。
  6. 检查和迭代。 i2s.py check CASE为每个视图写入一张图表:参考、参考法线、雕塑、法线误差、轮廓差异。查找凸块、网状物、缺失间隙、扁平特征。针对它们:parts CASE --prompt "hands"然后fit --stage focus --region hands,cut --region hands,smooth --region box:...(references/checking.md)。没有前后对比图表绝不声称修复完成。
  7. 完成、Blender、影片。 finish(面平滑,OBJ/STL),blender(从照片的相机回放每一步,360°转台,每个视图,sculpt.blend,GLB),film(双面板时间流逝动画,以360°转台结束,转台,视图图表,主图像)(references/blender-and-delivery.md)。
  8. 报告并停止。 report写入out/REPORT.md、out/index.html和逐步骤图表。呈现时间流逝动画、视图图表和测量表格,说明不足之处,然后停止。用户决定下一步。

硬性规则

  • 照片控制其可见内容。 生成的视图仅填充照片未看到的部分;它们的深度从不使用(在视图之间相差数厘米)。从不将生成视图的法线平均到照片的法线上。
  • 配准每个视图;永远不要信任请求的角度。 在巨魔案例中,生成的视图偏差达20–155°,主要是左右翻转。搜索允许这些偏差,但将前视图保持在前方,后视图保持在后方(对称主体的后部轮廓类似于前部)。在case.json中读取配准后的角度。
  • 在雕刻前先筛选。 与其他视图不一致的视图是不同主体或姿态:拒绝它(并说明原因),而不是用它切割雕塑。
  • 保留一个视图不参与拟合。 它从不移动表面;其相机在拟合前冻结。在用于拟合的视图之外单独报告它。它也是生成的,因此衡量一致性而非真实性。
  • 测量,不要仅凭目测。 IoU、轮廓距离、法线角度、相对于参考本身粗糙度的粗糙度、照片的深度。一个数字从不代表“质量”:并列报告它们。
  • 距离场保持精确。 每次操作都会重新计算网格的距离场(条带内的精确三角形距离,条带外的EDT)。偏移不精确的场、镜像场本身或模糊法线目标会在构建该案例的案例中产生阶梯、波纹环和平坦的鼻子(references/lessons.md)。
  • 记录一切。 每次雕刻、通过、切割和平滑都是build/steps/和build/log.jsonl中的一步,在Blender中回放并显示在时间流逝动画中。从不编辑已记录的一步;添加一个新步骤。
  • 付费调用: 每次fal调用都通过案例预算(settings.budget_usd),其请求ID在等待前保存在case.json中,并且不会盲目重新提交。FAL_KEY永远不会被打印或写入。
  • 每个检查点都有视觉反馈,每个影片的第0帧都是一个完成的缩略图。
  • 说明哪些是生成的。 仅从正面看到的主体的背面是生成器的猜测。

参考资料

文件阅读时机
references/inputs.md路由不常见输入时;蒙版、重新样式、选择、导入照片、仅想法
references/views.md生成、判断、配准、筛选和添加视图时
references/fitting.md了解一次通过的作用、阶段、参数、切割/平滑/聚焦、默认计划
references/checking.md读取映射图表和指标、保留视图、下一步修复什么
references/blender-and-delivery.mdBlender回放、影片、导出、报告、审查页面
references/conventions.md世界坐标系、相机、单位、文件格式(用于编写新工具)
references/lessons.md了解第一个案例出了什么问题以及为什么存在上述规则

模板:templates/CONTRACT.md(复制到每个案例中)、templates/acceptance.json(目标)。

相关技能