避免使用默认着色器
如果引用了一个文件,在该文件中改变了默认着色器 (lambert1),那么这些更改会被父文件的默认着色器所取代。若要避免该情况,请在子文件中创建一个新着色器并指定该着色器,而不是使用默认着色器。
共享着色器网络
如果在启用共享着色网络的情况下,将文件引用到当前场景中,则会将被引用场景中的着色网络与当前场景中的着色网络(包括任何引用的着色网络)合并到一起。需要在整个场景中使用相同的着色网络(包括引用)时,这样可避免创建重复的着色网络。
仅当着色网络相同时,才能共享着色网络。从着色组向上游移动时,仅当其中包含的所有节点都具有相同的名称和类型时,Maya 才会认为两个着色网络是相同的。
着色网络中的每个节点的名称和类型必须相同,才能共享该着色网络,而不会考虑每个节点中的实际值。因此,对于子场景中具有一个值(例如,蓝色)的节点和父场景中具有不同的值(例如,红色)的节点,只要其名称和类型相匹配,就会认为它们是相同的。
但是,某些着色网络无法进行共享。这些着色网格有:
- 包括 DAG 对象(例如包含 place3dTexture 节点的对象)的网络
- 将动画应用到节点的网络
- 将表达式应用到节点的网络
如果其中任何项目显示在着色网络中,那么在启用共享着色网络的情况下引用文件时,将不会共享该网络。
也不会共享存在于着色网络下游的任何项目。仅会共享着色网络上游的那些项目。
注意
所有对共享的被引用节点的编辑都存储在一个公用的共享引用节点上。仅可以通过使用菜单项从删除共享引用。会为已共享的所有引用保留共享引用节点,且仅当已移除最后一个共享引用时,才会移除共享引用节点。
除非在共享之前,在每个要共享的着色网络上创建了相同的属性,否则添加到后续共享的着色网络的动态属性可能会丢失。