覆盖应用于集合中对象的材质

采用以下两种方式之一,可覆盖应用于集合中对象的材质:创建材质覆盖(以覆盖着色组)或着色器覆盖(以覆盖表面着色器)。

创建材质覆盖以覆盖着色组

  1. 请确保对象的形状节点是该集合的一部分。

    通过选择形状节点并在“特性编辑器”(Property Editor)中单击“添加”(Add),或者通过使用表达式将形状节点包括在内,可以执行该操作。

  2. 在集合上单击鼠标右键,然后选择“创建材质覆盖”(Create Material Override)
  3. “特性编辑器”(Property Editor)中,单击“覆盖材质”(Override Material)属性旁边的贴图按钮 ,并选择您要指定给集合中对象的新材质。

    若要使用现有材质覆盖对象的着色组,请按住鼠标中键并将其从“Hypershade 浏览器”(Hypershade > Browser)面板拖动到“覆盖材料”(Override Material)属性中。

    “特性编辑器”(Property Editor)中的“覆盖材料”属性表示 *SG。例如,blinn2SG 表示覆盖连接到着色组。

  4. 注:

    原始着色材质与置换着色器之间的连接不会保留,这是因为着色组节点已被替换。若要保留此连接,则可改为创建着色器覆盖。

    例如,应用环境光遮挡着色器以创建环境光遮挡的过程,便是一个常见的使用案例。在此示例中,如果创建材质覆盖并替换 blinn1SG,则将失去与 displacementShader 的连接,因此需要重新将 displacementShader 连接到新着色组。

    但是,您可以创建一个着色器覆盖,仅将 blinn1 着色器替换为环境光遮挡着色器。通过这种方式,可以保留与 displacementShader 的连接。本示例中使用了来自第三方渲染器 Arnold 的 aiAmbientOcclusion 着色器(Solid Angle 供图)。

创建着色器覆盖以覆盖表面着色器

  1. 请确保对象的形状节点是该集合的一部分。

    通过选择形状节点并在“特性编辑器”(Property Editor)中单击“添加”(Add),或者通过使用表达式将形状节点包括在内,可以执行该操作。

  2. 在集合上单击鼠标右键,然后选择“创建着色器覆盖”(Create Shader Override)
  3. “特性编辑器”(Property Editor)中,单击“覆盖着色器”(Override Shader)旁边的贴图按钮 ,并选择您要指定给集合中对象的新表面着色器。

    若要使用现有的着色器覆盖对象的表面着色器,请按住鼠标中键并将其从“Hypershade”拖动到“覆盖着色器”(Override Shader)属性。

  4. 注:

    着色器覆盖并非与集合特定相关。着色器覆盖将应用于位于同一层中且最初已指定相同的材质的所有对象(及其实例,即使这些对象属于不同的集合)。

注: 如果将着色器覆盖导入到一个不含您指定给对象的新表面着色器的场景,则覆盖旁边会出现 !。若要解决此问题,请重新创建缺少的表面着色器,以将其重新连接到覆盖。重新创建缺少的着色器之后,层可见性图标 周围将显示红色边界;单击此图标可刷新层并查看更新的结果。这同样适用于材质覆盖。

相关主题