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

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

注:

若要标识与集合成员关联的曲面着色器和着色组节点,请单击集合“特性编辑器”(Property Editor)中的“查看全部”(View All),然后启用“查看依存关系”(View Dependencies)

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

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

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

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

  3. 注:

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

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

    但是,您可以创建一个着色器覆盖,仅将 blinn1 着色器替换为环境光遮挡着色器。通过这种方式,可以保留与 displacementShader 的连接。

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

    注: 着色器覆盖不受对象支持,如未指定初始着色组的 Arnold 替代对象。但是,支持材质覆盖。
  1. 在对象的集合上单击鼠标右键,然后选择“创建着色器覆盖”(Create Shader Override)

    已在对象集合之下创建 shadingEngines 子集合,以及对应的着色器覆盖。

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

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

  3. 注:

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

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

相关主题