覆盖集

Maya 中的集指的是对象或组件(例如几何体对象或灯光)的集合。将对象分组成多个集有助于一次对多个对象执行特定更改。

MtoA 可以使用 Maya 集来将 Arnold 渲染覆盖应用于集内对象。这使您可以覆盖属于集成员的对象的任何属性,也意味着您可以影响大量对象,而不必逐个更改特性。

工作流示例

假设要创建一个只含汽车阴影的环境光遮挡渲染层。使用覆盖集时,您只需要:

  1. 选择要隐藏的所有汽车几何体。
  2. 创建一个覆盖集,并将几何体的“主可见性”(Primary Visibility)禁用。
  3. 为地板指定环境光遮挡着色器。

 

要使用覆盖集,请在 Maya 中创建一个集作为对象集合,然后在“大纲视图”(Outliner)中选择该集:

 

然后,打开属性编辑器,打开“Arnold”选项卡,确保已启用“Ai 覆盖”(Ai Override),然后单击“添加”(Add)。

随后将看到一个窗口,其中列出了一长串可覆盖的属性。

请注意,如果集中包括许多对象,“添加覆盖属性”(Add Override Attribute)窗口的调用速度可能较慢。在某些情况下,覆盖属性窗口可能要花一分钟左右才能显示。这是因为,它需要根据所选的对象检查数百个属性,因此选择的对象越多,显示窗口所需的时间越长。

一个建议的解决方法是:

  1. 创建一个只含一个对象的集。
  2. 使用“添加覆盖属性”(Add Override Attribute)向其中添加所需的属性。
  3. 将其余对象添加到该集。

搜索字段可用来过滤属性

 

可供选择的属性有很多,请选择需要的属性(如果愿意,可以选择多个属性),然后单击“添加”(Add)。

窗口顶部有一个文本字段,可用来过滤所需的属性。它支持所有正则表达式功能(使用 Re Python 库)。

例如,如果在查询前希望过滤器忽略大写类型 (?i):

 

您还可以单击属性编辑器上的“移除”(Remove)按钮,从覆盖集中移除相关属性。

集中还可以嵌套其他集。覆盖集将覆盖它所含的任何集中的属性,进而覆盖子集所含内容的属性。这是一个非常有用的功能,有助于您根据需要打开和关闭不同子集中的各种功能。

以下两个子主题介绍了使用覆盖集的两个示例:

    • 示例 1:更改多个几何体对象的渲染特性。
    • 示例 2:通过将不同着色器的属性指定给覆盖集来更改这些着色器的行为。

 

  • No labels