我用Codex把重复数小时的 3ds Max 模型整理工作,做成了一个半自动脚本
一个真正好用的小工具,不是功能越多越好,而是每一步都可见、可控、可撤销。
为什么要做这个工具
在复杂的 3ds Max 场景中,同一种材质常常散落在几十个独立物体上。手动查找、转换 Editable Poly、逐个 Attach,再把结果移入指定图层,动作并不复杂,却极其重复。
这个工具的目标不是一开始就全自动整理整个场景,而是先做一个安全的半自动版本:让使用者掌握材质来源、筛选范围、Attach 目标和最终图层。
从需求到 v0.5.2
第一版完成三件事:获取选中物体材质、查找同材质物体并转换为 Editable Poly、通过 Attach List 合并到指定目标。
实际使用后,我们连续修正了几个关键问题:排除隐藏和 Isolate 模式外的物体;合并查找与转换步骤;接入 Layer Manager;拆分 Attach 与移动图层的 Undo;在重新获取材质时清理旧节点引用;最后用颜色建立操作层级。
三个关键技术点
只匹配真正可见的对象
仅检查普通隐藏标记并不够。Isolate 模式可能临时隐藏节点,因此脚本同时检查 isHiddenInVpt 和 IsolateSelection.IsNodeIsolated。
Undo 后必须丢弃旧引用
Attach 会删除源节点,Undo 恢复场景时,旧缓存仍可能指向失效实例。因此每次重新获取材质前,脚本会清空材质、源节点、候选节点和 Attach List。
Attach 与图层移动分开
合并几何体和调整场景层级是两种不同操作。把它们拆开后,使用者可以分别 Undo,也更容易判断问题发生在哪一步。
完整使用流程
- 只选中一个有材质的几何体,点击蓝色按钮获取材质。
- 点击青绿色按钮,查找当前可见的同材质物体并转换为 Editable Poly。执行后,处理成功的物体保持全选。
- 从选中结果中只保留一个物体,点击深橙色按钮,将它设为 Attach Target。
- 在 Attach List 中选择需要合并的物体,点击暖橙色按钮执行 Attach。
- 从 Layer Manager 同步或新建目标图层,点击紫色按钮把合并结果移动到指定图层。

安全边界与后续计划
当前版本只处理几何体,只匹配同一个材质实例,并主动排除隐藏对象。转换与 Attach 前都有确认窗口,转换、Attach、移动图层也分别支持 Undo。
下一阶段可以增加按材质批次扫描、同名材质归一化、按层或空间范围过滤、自动命名、批量合并报告,以及真正的一键场景整理。
写在最后
这个工具最有价值的地方,不是替代一次 Attach,而是把一串容易出错的重复动作,变成一个边界清晰、随时可撤销的工作流。
如有需要请私信我获取下载链接。
如果你觉得今天这篇有收获,欢迎点赞、评论、转发三连,我们下篇见。
更多推荐




所有评论(0)