一个真正好用的小工具,不是功能越多越好,而是每一步都可见、可控、可撤销。

为什么要做这个工具

在复杂的 3ds Max 场景中,同一种材质常常散落在几十个独立物体上。手动查找、转换 Editable Poly、逐个 Attach,再把结果移入指定图层,动作并不复杂,却极其重复。

这个工具的目标不是一开始就全自动整理整个场景,而是先做一个安全的半自动版本:让使用者掌握材质来源、筛选范围、Attach 目标和最终图层。

从需求到 v0.5.2

第一版完成三件事:获取选中物体材质、查找同材质物体并转换为 Editable Poly、通过 Attach List 合并到指定目标。

实际使用后,我们连续修正了几个关键问题:排除隐藏和 Isolate 模式外的物体;合并查找与转换步骤;接入 Layer Manager;拆分 Attach 与移动图层的 Undo;在重新获取材质时清理旧节点引用;最后用颜色建立操作层级。

三个关键技术点

只匹配真正可见的对象

仅检查普通隐藏标记并不够。Isolate 模式可能临时隐藏节点,因此脚本同时检查 isHiddenInVptIsolateSelection.IsNodeIsolated

Undo 后必须丢弃旧引用

Attach 会删除源节点,Undo 恢复场景时,旧缓存仍可能指向失效实例。因此每次重新获取材质前,脚本会清空材质、源节点、候选节点和 Attach List。

Attach 与图层移动分开

合并几何体和调整场景层级是两种不同操作。把它们拆开后,使用者可以分别 Undo,也更容易判断问题发生在哪一步。

完整使用流程

  1. 只选中一个有材质的几何体,点击蓝色按钮获取材质。
  2. 点击青绿色按钮,查找当前可见的同材质物体并转换为 Editable Poly。执行后,处理成功的物体保持全选。
  3. 从选中结果中只保留一个物体,点击深橙色按钮,将它设为 Attach Target。
  4. 在 Attach List 中选择需要合并的物体,点击暖橙色按钮执行 Attach。
  5. 从 Layer Manager 同步或新建目标图层,点击紫色按钮把合并结果移动到指定图层。
    请添加图片描述

安全边界与后续计划

当前版本只处理几何体,只匹配同一个材质实例,并主动排除隐藏对象。转换与 Attach 前都有确认窗口,转换、Attach、移动图层也分别支持 Undo。

下一阶段可以增加按材质批次扫描、同名材质归一化、按层或空间范围过滤、自动命名、批量合并报告,以及真正的一键场景整理。

写在最后

这个工具最有价值的地方,不是替代一次 Attach,而是把一串容易出错的重复动作,变成一个边界清晰、随时可撤销的工作流。

如有需要请私信我获取下载链接。

如果你觉得今天这篇有收获,欢迎点赞、评论、转发三连,我们下篇见。

Logo

葡萄城是专业的软件开发技术和低代码平台提供商,聚焦软件开发技术,以“赋能开发者”为使命,致力于通过表格控件、低代码和BI等各类软件开发工具和服务,一站式满足开发者需求,帮助企业提升开发效率并创新开发模式。

更多推荐