在线客服
在线客服

Maya渲染设置中如何覆盖对象的着色?

可以通过两种方式覆盖对象的着色:

  • 可以覆盖应用的整个材质。

    例如,如果要为路面指定不同的材质,使其看起来潮湿、脏乱或坑洼,则可创建一个材质覆盖来覆盖着色组。

  • 可以覆盖着色器的属性,其中包括属性值或连接。

    例如,如果当前已将 Blinn 着色器当前指定给对象,且您希望将 Blinn 着色器一直指定给这些对象,但您希望更改 Blinn 的颜色属性,则应选择此选项。

此功能适用于 Maya 着色器和第三方着色器。

注: 以前,创建集合时,“着色器”(Shaders)集合过滤器仅包括表面着色器。在 Maya 2018 中,此过滤器现在包括表面着色器和体积着色器。

标识指定给场景中每个对象的着色器

通过在大纲视图(Outliner)中启用“显示 > 指定的材质”(Display > Assigned Materials)选项,显示指定给场景中每个对象的着色器。

如果对象涉及逐面着色器指定,则会将指定给对象的所有着色器列入并分组到“材质”(Materials)标题下。

应用示例

示例 1:

如果对象具有类似的名称,则可按如下所示轻松覆盖指定给每个对象的材质:

假设场景中包含三个窗口,您可使用表达式将所有这三个窗口动态添加到同一集合。例如,如果所有窗口的名称中均包含字母 window,则可使用表达式 *window* 将其包含在集合中。稍后,您可以在集合上创建一个材质覆盖,以便使用新材质覆盖原始材质。

现在,如果向场景中添加新建筑,只要其窗口的名称中也包含字母 window,便可重新应用表达式,使新窗口包含在集合与应用的材质覆盖中。

 

示例 2

如果场景中有 100 个对象,每个对象应用的着色器各不相同,并且您需要将每个着色器的亮度提高 10%,则可执行以下操作:

  1. 创建包含这 100 个对象的集合。

  2. 选择集合,然后从“添加覆盖”(Add Override)下拉列表中选择“相对”(Relative),并使用鼠标中键将“白炽度”(Incandescence)属性从任一着色器的“属性编辑器”(Attribute Editor)拖放到“特性编辑器”(Property Editor)。

    系统将自动在对象集合之下创建着色器子集合,以及对应的“白炽度”(Incandescence)覆盖。

  3. 选择该覆盖并在“特性编辑器”(Property Editor)中调整“白炽度”(Incandescence)属性。如此一来,集合中包含的所有着色器都会变得更亮。

这样就不需要分别调整每个着色器。

示例 3:

如果场景中有 100 个对象,每个对象应用的着色器相同,并且您需要更改其中两个对象上的着色,请执行以下操作:

  1. 在层上单击鼠标右键,然后选择“创建集合”(Create Collection)以创建包含这 100 个对象的集合,使其在层中可见。

  2. 在集合上单击鼠标右键,然后选择“创建集合”(Create Collection)以创建包含要更改着色的两个对象的子集合。

  3. 在此子集合上单击鼠标右键,然后选择“创建材质覆盖”(Create Material Override)。

    选择该覆盖。在“特性编辑器”(Property Editor)中,单击  按钮以指定不同材质;或者,将现有材质从“Hypershade”拖放到“特性编辑器”(Property Editor)。

    视口将更新,以显示仅为属于第二个集合的这两个对象指定了新材质。

在本例中,由于所有对象共享同一着色器,因此无法如同示例 2 中一样覆盖该着色器上的属性。否则,所有对象都将应用相同的覆盖。您应创建一个材质覆盖而非着色器覆盖,因为着色器覆盖并不特定于集合,而是应用于同一层中共享相同的初始着色器指定的所有对象。

示例 4:

如果场景中有 100 个对象,每个对象应用的着色器各不相同,并且您需要更改其中两个对象上的着色,请执行以下操作:

  1. 在层上单击鼠标右键,然后选择“创建集合”(Create Collection)以创建包含这 100 个对象的集合,使其在层中可见。

  2. 在集合上单击鼠标右键,然后选择“创建集合”(Create Collection)以创建包含要更改着色的两个对象的子集合。

  3. 在此子集合上单击鼠标右键,然后选择“创建着色器覆盖”(Create Shader Override)或“创建材质覆盖”(Create Material Override)。

    还可以如同示例 2 中一样覆盖着色器上的属性。例如,可以覆盖包括“颜色”(Color)和“白炽度”(Incandescence)在内的任何属性。与示例 3 相比,本示例比较简单,因为每个对象最初指定给了不同的着色器。

示例 5:

如果场景中有 100 个角色,且所有角色都穿着指定给不同着色器的 T 恤,但您要将所有这些 T 恤映射新纹理,则可执行以下操作:

  1. 在层上单击鼠标右键,然后选择“创建集合”(Create Collection)以创建包含这 100 个角色的集合,使其在层中可见。

  2. 选择该集合,然后从“特性编辑器”(Property Editor)的“添加覆盖”(Add Override)下拉列表中选择“绝对”(Absolute)。

  3. 选择任何着色器以显示其“属性编辑器”(Attribute Editor),然后使用鼠标中键将“颜色”(Color)属性拖放到“特性编辑器”(Property Editor)。

    创建着色器子集合,以及对应的颜色覆盖。

  4. 选择该颜色覆盖,然后单击“特性编辑器”(Property Editor)中的  按钮以连接到新纹理。

     

示例 6:

如果场景中有 100 个角色,且所有角色都穿着映射到一个纹理的 T 恤,但您要将所有这些 T 恤映射到新纹理,则可执行以下操作:

  1. 在层上单击鼠标右键并选择“创建集合”(Create Collection),以创建包含这 100 个角色的集合。

  2. 将层设置为可见并选择该集合,然后选择要从其映射到新纹理的文件节点。

  3. 在文件节点的“属性编辑器”(Attribute Editor)中,在“图像名称”(Image Name)属性的文件路径区域上单击鼠标右键,然后选择“为可见层创建绝对覆盖”(Create Absolute Override for Visible Layer)。

    系统将创建文件节点子集合以及相应的文件纹理名称覆盖。

  4. 选择该覆盖。在“特性编辑器”(Property Editor)中,单击文件夹图标以连接到新纹理。

 

/v23/jpg/swiper2-34c8e7ae.jpg
/v23/jpg/swiper1-fc05a4ec.jpg
/v23/jpg/swiper2-34c8e7ae.jpg
/v23/jpg/swiper1-fc05a4ec.jpg

热搜关键词

底部宣传图

渲云,您身边的渲染专家!

赞奇科技旗下CG视效行业云渲染品牌
立即注册
联系我们