Community图像github.com

TraX22/comfyui-image-to-3d

将用户提供的图像通过本地 ComfyUI 转换为 3D 模型(GLB 格式)——自动选择适合的图像工作流,运行用户保存的参数,在存在两个生成器时进行选择,仅当用户明确要求时才降低面数,并如实报告结果。

comfyui-image-to-3d 是什么?

该技能利用用户本地的 ComfyUI 环境,将单张或多张图像重建为 3D 网格模型(GLB 格式),适用于 Trellis.2、Pixal3D、Hunyuan3D 等本地模型。它能通过 `comfy_workflows` 工具列出用户保存的工作流,并根据图像类型(单张、多视图或表格图)自动选择最匹配的工作流;在多个工作流符合条件但无明确区分时,会主动询问用户。技能严格遵循用户预设的参数(如面数、分辨率),除非用户明确要求“轻量化模型”(如用于游戏或 Web),才通过 `comfyui_set_workflow_slot` 调整 `target_face_count` 至 50000(道具)或 150000(主角),但绝不低于 50000。运行时,它通过 ComfyUI 连接验证并执行工作流,处理缺失模型、内存不足或超时等常见错误,并返回包含文件大小、三角面数、所用工作流及任何修改的详细报告。此技能依赖 `comfy_workflows`、`comfyui_validate_workflow`、`comfyui_run_workflow` 和 `comfyui_job` 这些工具,若缺少会明确提示用户安装。

兼容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/TraX22/HydraOps-Skills/tree/HEAD/comfyui-image-to-3d

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

在你喜欢的 AI 中提问

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

文档

使用 ComfyUI 将图像转换为 3D 模型

ComfyUI 使用本地模型(Trellis.2、Pixal3D、Hunyuan3D……)从图像重建网格。您无需建模:只需选择工作流、运行它并交付文件。它在用户的 GPU 上运行,不产生费用,耗时从几分钟到一刻钟不等。

其机制已嵌入您的工具中:comfy_workflows 列出用户保存的工作流,准备一个包含附件的图像并收集结果,同时告知您每一步操作;ComfyUI 连接负责验证、运行和等待。请遵循这些工具返回的结果。本技能关注的是它们留给您进行选择的环节。

如果您既没有 comfy_workflows 也没有 ComfyUI 连接的工具,请停止操作并说明:用户需要安装 ComfyUI 连接(工具 → 连接),并向该代理提供 comfy_workflows、comfyui_validate_workflow、comfyui_run_workflow 和 comfyui_job,同时保持 ComfyUI 处于打开状态。

选择哪个工作流

使用 comfy_workflows 并设置 action: "list" 来显示用户保存的工作流。根据图像类型进行选择:

图像类型使用的工作流
单个物体的一张图片(照片、渲染图、概念图)用于单张图像生成 3D 模型(用户命名为“多视图”的工作流同样适用于单张图片)
同一物体的多视图表格(正面、侧面、背面;角色转面图)用于多视图生成 3D 模型
同一物体的多张独立附件图片如果工作流支持读取多个文件,则使用多视图工作流;否则询问用户使用哪张图片
  • 用户命名的特定工作流优先于您的选择。
  • 如果有两个保存的工作流都符合且无法区分,请询问用户,不要同时运行两者。
  • 如果没有匹配的工作流,请告知用户并列出其所拥有的工作流。只有在此之后,才能从 Comfy 的在线图库提供模板(如果您有 comfyui_search_templates),并事先告知用户图库内容来自互联网,应用会请求他们批准您读取后的每个步骤。

准备工作

  • 将附件图像传递给 files,使用对话中显示的名称。
  • 每次运行处理一个物体。如果图片显示多个物体,请询问用户具体是哪一个,或说明模型将把整个场景作为一个整体包含。
  • 具有纯色背景且完整物体在画面中的图片能获得最佳模型。如果物体被边缘裁剪或遮挡,请在运行前说明:生成器会自行发明无法看到的部分。

工作流内部的选择

comfy_workflows 会引用工作流作者留下的注释。请阅读它们:它们说明了工作流中各个开关的作用。

  • 开关后的两个生成器(一个工作流可以使用两个模型之一):保持用户保存的设置。仅当用户指定要使用的生成器时,才通过 comfyui_list_workflow_slots 找到开关,并使用 comfyui_set_workflow_slot 进行设置,同时在报告中说明运行的是哪个生成器。
  • 保留用户的值。 使用用户保存的值运行工作流。请勿自行更改 target_face_count、分辨率、采样器或其他任何参数,即使图片看起来很简单或上一次运行产生了一个高面数模型:保存的工作流是用户的选择,您“为了帮助”而降低的值会产生一个用户并未要求的模型(过度简化的重建会呈现褶皱形状,而非轻量副本)。如果您认为轻量模型更适合用户,请在报告中说明并提供建议,但不要直接执行。
  • 仅当用户明确要求时才提供轻量模型。 当用户明确要求轻量模型、指定面数,或表示用于游戏、网页或手机时,请在运行前降低面数,分两步操作已准备的文件:
    1. 调用 comfyui_list_workflow_slots,在其返回中找到名称为 target_face_count 的槽位(属于 DecimateMesh 节点);复制其 address。
    2. 使用 comfyui_set_workflow_slot,设置 stdout: false 和 [{"address": "<该地址>", "value": 50000}](对于游戏中的道具;主角或摄像机靠近的物体则设为 150000)。除非用户自己指定了更低的数值,否则绝不低于 50000。 然后正常验证和运行,并在报告中说明您设置的值。如果工作流没有这样的槽位,或者您缺少这两个工具,则按原样运行,并明确说明模型对游戏而言太重以及超出多少。
  • 单张图片足以用于多视图工作流。 一种工作流可以从输入中裁剪出多个视图,同样适用于单张照片:超出图片范围的裁剪区域会空着,模型只从真实视图构建。不要去寻找视图表格或尝试制作一个;直接用用户提供的图片运行。

当运行失败时

  • 缺少模型或节点:报告验证所缺的文件并停止。用户从 ComfyUI 安装这些文件(在工作流中打开会提供下载链接)。不要切换到其他工作流来绕过此问题。
  • 任务失败:comfy_workflows 使用 action: "collect" 报告节点和原因。常见原因是内存不足:请说明此情况,并提供以更低分辨率或使用其他生成器(如果工作流支持)重试的选项。不要自行重试超过一次。
  • 等待超时:任务仍在运行。请再次等待,切勿同时启动两次。

报告

  • 返回的文件 collect 及其大小和三角面数,如实提供。
  • 运行了哪个工作流,以及您对其做了哪些更改。
  • 您并未看到模型:说明模型已生成,但不要描述其外观。
  • 一行说明预期效果:图片未显示的部分由生成器自行生成,结果是带有烘焙纹理的单一网格,而非多个分离部件。
  • 如果用户希望模型进行清理、进一步简化或导出用于引擎,那是 Blender 的任务(blender-game-export 技能)。

Individual skills in this repo

This repo contains 3 individual skills — each has its own dedicated page.

相关技能