mcpField
C
contour-to-mesh

contour-to-mesh

github.com/roble3创意与媒体128840 次安装2 周前更新
代码仓库

关于 contour-to-mesh

这项 Blender 工作流技能根据参考轮廓构建网格,适合需要忠实保留正面轮廓的创作者。它从填充的 2D 轮廓开始,并在不改变边界的情况下增加深度。

主要功能

  1. 01从遮罩生成三角网格
  2. 02分配正面投影 UV
  3. 03保留轮廓并增加深度
  4. 04将正面渲染与源遮罩对照验证
  5. 05记录网格与源文件元数据
  6. 06创建源图锁定的 2.5D 表层

适用场景

  1. 01根据 Logo 或吉祥物轮廓创建网格
  2. 02为已验证的轮廓增加浅层深度
  3. 03为风格化参考保留源图锁定的正面效果

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/roble3/cc-blender-skill --skill contour-to-mesh

安装后在 Claude Code 中输入/contour-to-mesh确认已加载。

附带文件scripts/mask_to_mesh_recipe.pyscripts/source_locked_skin_recipe.py

详细介绍

轮廓转网格

当参考剪影是必须遵守的标准时使用此方法。网格先在正视图 X/Z 平面中从填充的 2D 轮廓开始,验证后再添加浅 Y 向深度和弧度。

工作流

  1. 提取或选取一个结构部件的干净轮廓/蒙版。
  2. 使用 scripts/mask_to_mesh_recipe.py 生成三角网格方案。
  3. 运行生成的 Blender Python 脚本,创建一个命名为 GEO_* 的网格。
  4. 立即分配正面投影 UV。
  5. 仅通过修改器或顶点位移添加深度,并保持 X/Z 边界位置不变。
  6. 将正面渲染结果与源蒙版进行比对验证。

硬性规则

  • 除非清单说明源对象是对称的,否则不要使用径向复制。
  • 如果存在轮廓,就不要使用通用椭圆。
  • 边界顶点必须保持源 X/Z 坐标不变。
  • 深度变形可以移动 Y 和内部顶点,但不得改变正面剪影。
  • 一个结构源部件应生成一个命名的结构网格。

Blender 模式

生成的网格坐标应将图像 x 映射到 Blender 的 X,将图像 y 映射到 Blender 的 Z,并进行垂直翻转。仅使用 Y 表示厚度/深度。

正面平面旋转规则

在此 Blender 坐标约定中,正面摄像机沿 Y 轴观察,参考剪影位于 X/Z 平面内。因此,正视图中的 2D 旋转是绕 Y 轴 旋转,而不是绕 Z 轴。对于正面投影中的 2D 组件朝向,请使用 rotation_euler = (0, angle, 0)。对于 X/Z 平面网格,绕 Z 轴旋转会使对象错误地转入或转出屏幕空间。

来源要点

  • Blender Mesh API:使用 from_pydata 根据顶点/面创建网格。
  • Blender BMesh:用于清理、三角化、法线处理和平滑。
  • OpenCV 轮廓:用于检测和简化边界。
  • Delaunay 三角剖分:适用于填充内部网格,前提是通过蒙版包含关系进行筛选。

部件清单交接

当蒙版来自 source-part-segmentation 时,请在 Blender 中保留 part_inventory.json 中的名称: GEO_<part_name>、MAT_<part_name> 和 UV 图层名称。网格生成过程必须记录:

  • 源图像尺寸;
  • 源蒙版路径;
  • 轮廓边界点数量;
  • 可检测到的边界地标点(尖端、左侧底部、右侧底部、质心/极值点);
  • 图集 UV 矩形或投影模式。

对于精确的吉祥物/Logo 制作,请从轮廓生成边界顶点,并仅在支撑表面需要时添加内部顶点。 边界是必须遵守的标准:倒角、实体化、细分、收缩包裹或雕刻操作都不得移动正视图中的 X/Z 边界顶点,除非生成了新的源蒙版。

孔洞和线条策略

  • 填充的结构蒙版应转换为网格。
  • 线框描边用于辅助定位边界/地标;除非清单将其归类为装饰性线稿,否则不应将其作为结构网格。
  • 影响剪影的孔洞/负形区域应保留为单独的切割蒙版;否则应将其实现为贴花/材质蒙版。

锁定源图的正面蒙皮回退方案

当设计图具有绘画/风格化效果,且不同正交视图之间并不符合 CAD 一致性时,请先执行正面蒙皮步骤,再进行雕塑式诠释:

  1. 选择规范的正面/主视图源图;
  2. 将可见主体提取为填充轮廓蒙版;
  3. 创建浅层 2.5D 网格,使其 X/Z 边界与该轮廓一致;
  4. 分配完整图像的正面投影 UV,使正面渲染结果与源图像素一致;
  5. 仅沿 Y 轴并在正面表面后方添加深度;
  6. 可选择添加单独的浮雕/背衬部件以改善侧面观感,但正面蒙皮仍是视觉验收标准。

这是适用于 Logo/吉祥物的一种通用回退方案,此类设计对正面观感的忠实度比推测体积更重要。应将其标记为 front_locked_visual_skin,而非完全解决的转台模型。

脚本

  • scripts/source_locked_skin_recipe.py 提取最大的/规范的前景连通区域,并生成蒙版和轮廓网格方案;该方案使用完整图像的正面投影 UV 坐标。

评论

支持 Markdown