去除材质多余的着色引擎节点
Maya中,一个完整的材质(Material)至少包含一个材质实例节点(Lambert、Phong、aiStandarSurface等)和一个着色引擎节点(ShadingEngine)。
当通过FBX格式导出资源,材质的着色引擎节点会被舍弃;当导入FBX文件到Maya中,系统会自动创建新的着色引擎节点并与材质实例相关联。

不过,当导入的资源包含Arnold材质,会产生糟糕的现象:有多个物体共用一个Arnold材质的时候,Maya会为每个物体都生成一个ShadingEngine节点-事实上只需要一个SE节点。

除了增加场景冗余信息,多余的SE节点也会给材质的管理带来麻烦。材质上右键,弹出的标记菜将会出现多层无意义的菜单行,列表高度甚至会超出屏幕范围,以致于无法选择材质的操作按钮。

*SE节点重复的问题至Maya2022.2版本尚未解决,而使用基本材质则无此问题。
解决方法(任选一种):
【方法1】
1. 展开带有多个SE节点的材质,选择材质实例节点,快捷键Ctrl+D,复制出新的材质实例节点。

2.框选SE节点列表,然后按键盘的【向上键】,选择几何体的上游变换节点。
*这个方法也会选择赋予了该材质的模型面,虽然通常不建议直接对模型面进行材质关联。
3.在新的材质实例节点上右键,赋予材质后,所选的模型组件会关联到新的材质上,同时系统会生成新的SE节点。

4.删除旧的材质(包含实例节点和SE节点)。

也可以执行材质编辑器的删除未使用节点的命令,不过要注意是否有需要保留的未使用的材质节点。

5.将新材质实例节点和SE节点名称后面的数字删除,还原初始名称。
【方法2–适用于带有贴图节点连接的材质】
1. 展开带有多个SE节点的材质 ,框选SE节点和材质实例节点的连接线,仅保留一条不选,其余连接线按键盘Delete键删除。
*如果全部删除,后面赋予材质会失败。
2.框选SE节点列表,然后按键盘的【向上键】,选择几何体的上游变换节点。
3.在当前材质实例节点上右键,赋予材质,模型和材质关联成功。
4.删除多余的SE节点。
5.将SE节点名称和材质实例名称同步(也可以跳过这个步骤)。
【后话】
根据传统,官方应该会在后续的软件升级中解决这个问题(乐观估计至少2年后……)。