当您创建覆盖时,系统可能自动创建子集合。Maya 会自动识别被覆盖的节点类型并为该节点类型创建子集合。或者,也可以手动为着色器、形状或集等特定节点类型创建子集合。
层通过集合填充。向集合添加对象时,仅包含对象的变换节点。这将确定当层可见时您在视口中看到的对象。
在本示例中,渲染层 Minion_squid 用集合 Killamari 填充。Mesh_Killamari 身体、眼睛和眼睛玻璃体变换节点已添加到集合中,因此该角色的身体、眼睛和眼睛玻璃体在视口中可见。
在着色器中的属性上创建覆盖(例如,“环境色”(Ambient Color))时,Maya 会自动创建一个集合,其中包含指定给 Mesh_Killamari 节点的所有着色器以及相应的覆盖。换句话说,既不必手动将 Mesh_Killamari 的着色器添加到 Killamari 集合,也无需手动创建着色器集合。
同样,在形状节点上创建覆盖(例如,“模板”(Template))时,Maya 会自动创建一个集合,其中包含 Mesh_Killamari 所有对应的形状节点以及相应的覆盖。
每个集合包含的节点类型用图标来表示;例如, 表示着色器, 表示形状。
在变换节点上创建覆盖时,不会创建子集合。
将“集合过滤器”(Collection Filters)设置为“全部”(All)时,也不会创建子集合。因为只有在当前集合不包含要为其创建覆盖的节点类型时才会创建子集合。将过滤器设置为“全部”(All)时,永远不会创建子集合。
您可以按住 Shift 键并单击以展开渲染层或集合,从而显示其所有子集合和覆盖。再次按住 Shift 键并单击以完全将其收拢。现在,当您再次单击此项时,它将展开,但其子项不会展开。
有关创建覆盖的详细信息,请参见在渲染层中为集合创建覆盖。
父集合将确定属于层的对象,而子集合应该只包含其父集合的部分成员。
例如,以下场景有效:
但是,以下场景无效:
在后一种情况中,当地板设置为可见时,不会出现在层中。
子集合的使用示例可能如下:将城堡添加到父集合,然后创建一个仅包含城堡大门的子集合。这样,整个城堡在层中可见,并且您可以将旋转覆盖添加到仅应用于该门的子集合。这样便可更精细地控制哪些节点应该接收覆盖。
如果要在创建子集合之后向层添加成员,则应将新成员添加到父集合而非子集合,其原因如上所述,即:父集合将确定成员身份,而子集合应该只包含父集合的部分成员。
通过使用子集合,您可以创建父集合来控制对象在层中的成员身份(并进而控制随层一起渲染的对象),然后创建子集合,以便将覆盖仅应用于节点子集。一些示例包括: