创建连接覆盖可以覆盖任何属性连接;例如,表面着色器上的连接。
以下准则和示例介绍如何创建连接覆盖来覆盖表面着色器上的任何属性连接。尽管在本示例中以着色器为例,但是您可以遵循相同的准则来覆盖任何属性连接。将要为其覆盖的节点添加到集合,而不是将着色器添加到集合。
创建连接覆盖以覆盖表面着色器上的任何属性连接
- 创建一个集合并向其添加对象。
- 创建第二个集合并向其添加着色器。
请参见创建着色器的集合。
- 在着色器集合上单击鼠标右键,然后选择“创建连接覆盖”(Create Connection Override)。
- 使用鼠标中键将要覆盖的属性(例如,“透明度”(Transparency))从“属性编辑器”(Attribute Editor)拖放到“特性编辑器”(Property Editor)。
-
在“特性编辑器”(Property Editor)中,单击该属性旁边的贴图按钮
,以连接到新渲染节点。
若要连接到现有渲染节点,请使用鼠标中键从 Hypershade
浏览器面板拖动到“覆盖”(Override)属性。
注: 如果将连接覆盖导入到的场景不包含所连接的新渲染节点,则覆盖旁边会出现 !。若要解决此问题,请重新创建缺少的渲染节点,以将其重新连接到覆盖。重新创建缺少的节点之后,层可见性图标

周围将显示红色边界;单击此图标可刷新层并查看更新的结果。
提示: 通过在同一属性上创建多个覆盖并启用/禁用每个覆盖在其之间切换,可以体验不同的结果。
示例
创建连接覆盖,以覆盖指定给为 lamp_body 和 lamp_brassFixture 指定的着色器的“透明度”(Transparency)属性的纹理。
- 在层上单击鼠标右键,然后选择“创建集合”(Create Collection)以创建集合 LampBase_shaders。
- 在“大纲视图”(Outliner)中选择 lamp_body 和 brass_Fixture 节点,然后在“特性编辑器”(Property Editor)中单击“添加”(Add),以将其添加到集合。
- 确保已在集合的“特性编辑器”(Property Editor)中启用“包括层次”(Include Hierarchy),以便集合遍历 lamp_body 和 brass_Fixture 父节点,从而包括其子节点。
- 从“集合过滤器”(Collection Filters)下拉列表中选择“着色器”(Shaders),以确保只有已指定给 lamp_body 和 brass_Fixture 的着色器才包括在集合中。
单击“选择”(Select)以验证集合成员。
注: 或者,可以通过在“大纲视图”(Outliner)中选择 blinn4 和 lambert4 着色器,然后在“特性编辑器”(Property Editor)中单击“添加”(Add),填充 LampBase_shaders 集合。
- 在 LampBase_shaders 集合上单击鼠标右键,然后选择“创建连接覆盖”(Create Connection Override)。
将任何 Maya 着色器的“透明度”(Transparency)属性从“属性编辑器”(Attribute Editor)拖放到“特性编辑器”(Property Editor),然后将覆盖映射到任何纹理,如“分形”(Fractal)。结果如下所示。
注:
可以将连接覆盖同时应用于多个着色器。覆盖节点在集合内的所有着色器中搜索指定属性。在本例中,由于 blinn 和 lambert 都具有“透明度”(Transparency)属性,因此覆盖将应用于这两个着色器的透明度。
连接覆盖将应用于集合中的所有着色器;例如,在本例中:LampBase_shaders 集合中的 blinn4 和 lambert4。如果还为果盘指定了 blinn4 或 lambert4 着色器,即使最初意图是仅覆盖灯座的透明度,也会应用透明度覆盖。因此,有必要验证应用于层中每个对象的着色器,以避免意外覆盖对象的着色器。为此,请在“大纲视图”(Outliner)中选择“显示 > 指定的材质”(Display > Assigned Materials)。