图像与设计
当需要从2D轮廓/掩码精确重建Blender网格时(吉祥物/…
用提取的2D轮廓/掩码直接生成Blender网格表面,替代近似图元,保证正面轮廓与源模板一致。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 49/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 85/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 60/100 ×0.15
适用场景
当需要从2D轮廓/掩码精确重建Blend通用
解决思路
- 提取或选择一个结构部件的干净轮廓/掩码。
- 用 `scripts/mask_to_mesh_recipe.py` 生成三角化网格配方。
- 运行生成的Blender Python脚本,创建命名为 `GEO_*` 的网格。
- 立即赋予正面投影UV。
- 仅在保持X/Z边界位置不变的前提下,通过修改器或顶点位移添加深度。
- 将正面渲染结果与源掩码进行验证比对。
- 不要使用径向复制,除非清单标明源是对称的。
- 如果已有轮廓,不要使用通用椭圆。
- 边界顶点必须保持源的X/Z坐标。
- 深度变形可以移动Y和内部顶点,但不得改变正面轮廓。
- 一个结构源部件应生成一个命名的结构网格。
- 生成网格坐标时,将图像 `x` 映射到Blender `X`,图像 `y` 映射到Blender `Z` 并做垂直翻转;`Y` 仅用于厚度/深度。
- 在此Blender坐标约定中,正面相机沿Y轴观察,参考轮廓位于X/Z平面;因此正面视图内的2D旋转是绕 **Y轴** 旋转,而非绕Z轴。对X/Z平面网格的2D部件朝向使用 `rotation_euler = (0, angle, 0)`;Z旋转会让物体错误地旋入/旋出屏幕空间。
- 当掩码来自 `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坐标生成掩码+轮廓网格配方。
适用边界 · 注意事项
- 当源本身是对称的且清单明确允许径向复制时,不要使用此流程。
- 当已有CAD一致的正交视图时,不需要正面皮肤回退方案。
- 当线框描边被清单归类为装饰性线条时,不要将其作为结构网格处理。