采用以下两种方式之一,可覆盖应用于集合中对象的材质:创建材质覆盖(以覆盖着色组)或着色器覆盖(以覆盖表面着色器)。
若要标识与集合成员关联的曲面着色器和着色组节点,请单击集合“特性编辑器”(Property Editor)中的“查看全部”(View All),然后启用“查看依存关系”(View Dependencies)。
创建材质覆盖以覆盖着色组
若要使用现有材质覆盖对象的着色组,请按住鼠标中键并将其从“Hypershade浏览器”(Hypershade > Browser)面板拖动到“覆盖材料”(Override Material)属性中。
“特性编辑器”(Property Editor)中的“覆盖材料”属性表示 *SG。例如,blinn2SG 表示覆盖连接到着色组。
原始着色材质与置换着色器之间的连接不会保留,这是因为着色组节点已被替换。若要保留此连接,则可改为创建着色器覆盖。
例如,应用环境光遮挡着色器以创建环境光遮挡的过程,便是一个常见的使用案例。在此示例中,如果创建材质覆盖并替换 blinn1SG,则将失去与 displacementShader 的连接,因此需要重新将 displacementShader 连接到新着色组。
但是,您可以创建一个着色器覆盖,仅将 blinn1 着色器替换为环境光遮挡着色器。通过这种方式,可以保留与 displacementShader 的连接。
创建着色器覆盖以覆盖表面着色器
已在对象集合之下创建 shadingEngines 子集合,以及对应的着色器覆盖。
若要使用现有的着色器覆盖对象的表面着色器,请按住鼠标中键并将其从“Hypershade”拖动到“覆盖着色器”(Override Shader)属性。
着色器覆盖并非与集合特定相关。着色器覆盖将应用于位于同一层中且最初已指定相同的材质的所有对象(及其实例,即使这些对象属于不同的集合)。