去除材质多余的着色引擎节点

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年后……)。

你也可能喜欢阅读这些文章:

1 评论
Inline Feedbacks
View all comments

不认识的老朋友蹲一波,都10多年了啊,哈哈。虽然不认识,但是从最早的博客开始,对我有帮助。和这个刚开始冷冷清清的,今天意外发现终于又写些东西,不容易。支持,可惜以前的资料没迁移过来,大神的一些思维还是很好,不过现在更新软件太快,需要新东西了,哎,岁月,哈哈。

Copyright© VIVICG 版权所有 粤ICP备 17111516号 粤公网安备 44011102000879