采用以下两种方式之一,可覆盖应用于集合中对象的材质:创建材质覆盖(以覆盖着色组)或着色器覆盖(以覆盖表面着色器)。
创建材质覆盖以覆盖着色组
通过选择形状节点并在“特性编辑器”(Property Editor)中单击“添加”(Add),或者通过使用表达式将形状节点包括在内,可以执行该操作。
若要使用现有材质覆盖对象的着色组,请按住鼠标中键并将其从“Hypershade 浏览器”(Hypershade > Browser)面板拖动到“覆盖材料”(Override Material)属性中。
“特性编辑器”(Property Editor)中的“覆盖材料”属性表示 *SG。例如,blinn2SG 表示覆盖连接到着色组。
原始着色材质与置换着色器之间的连接不会保留,这是因为着色组节点已被替换。若要保留此连接,则可改为创建着色器覆盖。
例如,应用环境光遮挡着色器以创建环境光遮挡的过程,便是一个常见的使用案例。在此示例中,如果创建材质覆盖并替换 blinn1SG,则将失去与 displacementShader 的连接,因此需要重新将 displacementShader 连接到新着色组。
但是,您可以创建一个着色器覆盖,仅将 blinn1 着色器替换为环境光遮挡着色器。通过这种方式,可以保留与 displacementShader 的连接。本示例中使用了来自第三方渲染器 Arnold 的 aiAmbientOcclusion 着色器(Solid Angle 供图)。
创建着色器覆盖以覆盖表面着色器
通过选择形状节点并在“特性编辑器”(Property Editor)中单击“添加”(Add),或者通过使用表达式将形状节点包括在内,可以执行该操作。
若要使用现有的着色器覆盖对象的表面着色器,请按住鼠标中键并将其从“Hypershade”拖动到“覆盖着色器”(Override Shader)属性。
着色器覆盖并非与集合特定相关。着色器覆盖将应用于位于同一层中且最初已指定相同的材质的所有对象(及其实例,即使这些对象属于不同的集合)。