关于 contour-to-mesh
这项 Blender 工作流技能根据参考轮廓构建网格,适合需要忠实保留正面轮廓的创作者。它从填充的 2D 轮廓开始,并在不改变边界的情况下增加深度。
主要功能
- 01从遮罩生成三角网格
- 02分配正面投影 UV
- 03保留轮廓并增加深度
- 04将正面渲染与源遮罩对照验证
- 05记录网格与源文件元数据
- 06创建源图锁定的 2.5D 表层
适用场景
- 01根据 Logo 或吉祥物轮廓创建网格
- 02为已验证的轮廓增加浅层深度
- 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 向深度和弧度。
工作流
- 提取或选取一个结构部件的干净轮廓/蒙版。
- 使用
scripts/mask_to_mesh_recipe.py生成三角网格方案。 - 运行生成的 Blender Python 脚本,创建一个命名为
GEO_*的网格。 - 立即分配正面投影 UV。
- 仅通过修改器或顶点位移添加深度,并保持 X/Z 边界位置不变。
- 将正面渲染结果与源蒙版进行比对验证。
硬性规则
- 除非清单说明源对象是对称的,否则不要使用径向复制。
- 如果存在轮廓,就不要使用通用椭圆。
- 边界顶点必须保持源 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 一致性时,请先执行正面蒙皮步骤,再进行雕塑式诠释:
- 选择规范的正面/主视图源图;
- 将可见主体提取为填充轮廓蒙版;
- 创建浅层 2.5D 网格,使其 X/Z 边界与该轮廓一致;
- 分配完整图像的正面投影 UV,使正面渲染结果与源图像素一致;
- 仅沿 Y 轴并在正面表面后方添加深度;
- 可选择添加单独的浮雕/背衬部件以改善侧面观感,但正面蒙皮仍是视觉验收标准。
这是适用于 Logo/吉祥物的一种通用回退方案,此类设计对正面观感的忠实度比推测体积更重要。应将其标记为 front_locked_visual_skin,而非完全解决的转台模型。
脚本
scripts/source_locked_skin_recipe.py提取最大的/规范的前景连通区域,并生成蒙版和轮廓网格方案;该方案使用完整图像的正面投影 UV 坐标。