Files
nan 198fcbf55b
Some checks failed
Test / test (push) Has been cancelled
Initial public release
2026-09-19 21:31:36 +08:00

1.7 KiB
Raw Permalink Blame History

Why

Depth Surface 将基础 Cutout 网格投影到相机空间 XYZ 后,深度断层会把相邻顶点拉成跨越前后景的长面。当前 Cleanup 只在 Shape 变形前删除小型 Mesh Island,无法识别这些仍连接在主体上的拉伸面,也无法清理剔面后留下的单线拓扑。

What Changes

  • 为 Depth Surface 增加 Stretch Limit,根据深度投影前后的边长比例剔除过度拉伸的 Edge 及其关联 Face。
  • Stretch Limit 默认值为 0,表示关闭拉伸剔面;正值越大,清理越严格。
  • 在 Depth Surface 投影前按 Point Domain 捕获原始边长,投影 Set Position 后直接重新计算边长,使判据跟随实际 Depth Scale 结果且不依赖 Depth EXR 的额外通道。
  • 以 Point Domain 删除超限位置及其相邻拓扑,再删除 Face Count == 0 的松散 Edge 和 Point,最后执行 Depth Surface 后续 Thickness 与 Smooth;现有 Mesh Island Cleanup 语义保持不变。
  • 更新 Cutout 节点资产、验证、Blender 求值测试及用户与内部文档。

Capabilities

New Capabilities

  • depth-surface-stretch-culling: 规定 Depth Surface 的边长比例判据、关闭语义、松散拓扑清理及节点处理顺序。

Modified Capabilities

无。

Impact

  • 影响 tools/node_assets/build_cutout.py 中 O Image Depth Surface 与外层 O Image Cutout 的接口和节点主链。
  • 影响 src/anyimage/assets/O_AnyImage.blend、节点资产验证及 tests/test_cutout_objects.py 的真实 Blender 求值覆盖。
  • 需要同步 Cutout 用户说明、内部 Operator 文档与节点资产文档。
  • 不修改 Server Job、模型推理、Depth Metadata 或 Vector Depth EXR 的 RGB/Validity Alpha 协议,不新增依赖。