Maya如何在渲染层中创建覆盖(二)?
通过单击鼠标右键在可见的渲染层中创建覆盖
在任何可见的渲染层中,选择一个节点,然后在其“属性编辑器”(Attribute Editor)中的任何属性上单击鼠标右键,可创建绝对覆盖或相对覆盖。
在可见的渲染层中为选定集合创建覆盖
-
在要创建覆盖的渲染层上单击 ,将该层设置为可见。
-
选择要为其创建覆盖的集合。
-
在“大纲视图”(Outliner)中选择要创建覆盖的节点之一,或者在视口中选择该对象,以显示其“属性编辑器”(Attribute Editor)。
-
在“属性编辑器”(Attribute Editor)中,在属性上单击鼠标右键,然后选择“为可见层创建绝对覆盖”(Create Absolute Override for Visible Layer)或“为可见层创建相对覆盖”(Create Relative Override for Visible Layer)。
系统将在集合之下自动创建覆盖。
在可见的渲染层中为特定节点创建覆盖
-
在要创建覆盖的渲染层上单击 ,将该层设置为可见。
-
在“大纲视图”(Outliner)中选择该节点或在视口中选择该对象,以显示其“属性编辑器”(Attribute Editor)。
注: 不得在渲染层中选择任何集合;否则,将为该集合(而非选定节点)创建覆盖。
-
在“属性编辑器”(Attribute Editor)中,在属性上单击鼠标右键,然后选择“为可见层创建绝对覆盖”(Create Absolute Override for Visible Layer)或“为可见层创建相对覆盖”(Create Relative Override for Visible Layer)。
系统将在可见层中自动创建包含该节点的集合及其相应覆盖。为了便于识别,默认情况下,该集合以 _nodeName_col 模式命名。
注:
通过单击覆盖上的 ,可以启用或禁用覆盖。这样,您可以轻松体验不同覆盖的效果。
此外,还可以通过使用鼠标中键将属性拖放到“特性编辑器”(Property Editor),以创建覆盖。另请参见在渲染层中为集合创建覆盖。
通过创建覆盖向层添加对象
除了为可见的渲染层中当前存在的对象或节点创建覆盖之外,还可以通过一个步骤为当前存在于可见渲染层外部的节点创建覆盖,并将其添加到可见层。
-
单击渲染层上的 ,将其设置为可见。
-
在“大纲视图”(Outliner)中选择该节点或在视口中选择该对象,以显示其“属性编辑器”(Attribute Editor)。
注: 不得在渲染层中选择任何集合;否则,将为该集合(而非选定节点)创建覆盖。
-
在“属性编辑器”(Attribute Editor)中,在属性上单击鼠标右键,然后选择“为可见层创建绝对覆盖”(Create Absolute Override for Visible Layer)或“为可见层创建相对覆盖”(Create Relative Override for Visible Layer)。
系统将在可见层中自动创建包含该节点的集合及其相应覆盖。换句话说,该节点也已添加到可见层中。
注:
创建覆盖之后,层可见性图标 周围可能会显示红色边界,反映层信息已更改。若要使覆盖反映在视口或渲染中,请单击该图标。
通过键入属性名称创建覆盖
除了通过拖放和在属性上单击鼠标右键创建覆盖以外,还可以通过在“特性编辑器”(Property Editor)中输入属性名称创建覆盖。所有绝对覆盖、相对覆盖和连接覆盖均支持此功能。
-
创建一个集合,并将具有要覆盖的属性或连接的节点添加到其中。
确保“集合过滤器”(Collection Filters)设置正确且包含要覆盖的节点。单击“查看全部”(View All)以验证集合成员身份。
-
在集合上单击鼠标右键,然后选择以下选项之一:“创建绝对覆盖”(Create Absolute Override)、“创建相对覆盖”(Create Relative Override)和“创建连接覆盖”(Create Connection Override)。
-
选择该覆盖,然后在“类型属性”(Type Attribute)中输入要覆盖的节点和属性。请使用格式 node.attribute。
示例包括:defaultArnoldRenderOptions.atmosphere 和 blinn1.transparency 等。
注: 除了手动键入以外,还可以使用鼠标中键从“大纲视图”(Outliner)拖放节点名称,或者从“属性编辑器”(Attribute Editor)同时拖放节点和属性名称。
如果仅指定属性名称而不指定节点名称,Maya 会自动在集合内搜索包含此属性的节点,然后创建覆盖。否则,如果集合为空,Maya 将在场景中搜索与“集合过滤器”(Collection Filters)设置匹配的节点,然后创建覆盖。
示例工作流:覆盖 Arnold for Maya“渲染设置”(Render Settings)的“大气”(Atmosphere)属性
如果已通过将 aiFog 连接到 Arnold for Maya“渲染设置”(Render Settings)的“大气”(Atmosphere)属性向场景中添加雾,则可以通过执行以下操作对特定渲染层禁用雾:
-
创建一个集合,然后将 defaultArnoldRenderOptions 节点添加到其中。
从“集合过滤器”(Collection Filters)下拉列表中选择“全部”(All),确保不会过滤出该节点。
-
在集合上单击鼠标右键,然后选择“创建连接覆盖”(Create Connection Override)。
-
在“特性编辑器”(Property Editor)中,输入 defaultArnoldRenderOptions.atmosphere 并单击“创建”(Create)。
使连接覆盖保持未连接状态,可在渲染层中禁用雾。
使用连接覆盖来覆盖属性连接
通过拖放或在“特性编辑器”(Property Editor)中键入属性名称,可创建连接覆盖。
注:
仅支持输入连接,不支持输出连接。
此工作流面向高级用户。
创建连接覆盖以覆盖任何属性连接。
-
创建一个集合并向其添加对象。
-
创建第二个集合,并将具有要覆盖的属性和连接的节点添加到其中。
确保从“集合过滤器”(Collection Filters)下拉列表中选择的过滤器包含要覆盖的节点。例如,选择“着色器”(Shader)过滤器以包括着色节点。
若要验证这一点,请单击“查看全部”(View All)以查看集合的成员。
-
在此集合上单击鼠标右键,然后选择“创建连接覆盖”(Create Connection Override)。
-
选择要覆盖的节点,再使用鼠标中键将要覆盖的属性从“属性编辑器”(Attribute Editor)拖放到“特性编辑器”(Property Editor)。
或者,您可以在“特性编辑器”(Property Editor)中输入要覆盖的属性。 您可以 node.attribute 或 attribute 的形式(例如,blinn1.transparency 或 transparency)键入,然后单击“创建”(Create)。请参见通过键入属性名称来创建覆盖。
-
选定连接覆盖之后,在“特性编辑器”(Property Editor)中,单击该属性旁边的贴图按钮 ,以连接到新渲染节点。
若要连接到现有渲染节点,使用鼠标中键将其从“大纲视图”(Outliner)或 Hypershade “材质浏览器”(Material Browser)拖放到已覆盖的属性。
注: 如果将连接覆盖导入到的场景不包含所连接的新渲染节点,则覆盖旁边会出现 !。若要解决此问题,请重新创建缺少的渲染节点,以将其重新连接到覆盖。重新创建缺少的节点之后,层可见性图标 周围将显示红色边界;单击此图标可刷新层并查看更新的结果。
提示: 通过在同一属性上创建多个覆盖并启用/禁用每个覆盖在其之间切换,可以体验不同的结果。
示例
创建连接覆盖,以覆盖指定给为 lamp_body 和 lamp_brassFixture 指定的着色器的“透明度”(Transparency)属性的纹理。
尽管在本示例中以着色器为例,但是您可以遵循相同的准则来覆盖任何属性连接。将要为其覆盖的节点添加到集合,而不是将着色器添加到集合。
提示: 通过在“透明度”(Transparency)属性上创建相对或绝对覆盖并将纹理连接到覆盖,也可以实现相同的效果。请参见使用值覆盖将网络连接到属性。
-
在层上单击鼠标右键,然后选择“创建集合”(Create Collection)以创建集合 LampBase_shaders。
-
在“特性编辑器”(Property Editor)中,从“集合过滤器”(Collection Filters)下拉列表中选择“着色器”(Shaders),将着色器节点包含在此集合中。
-
在大纲视图中,确保已启用“显示 > 指定的材质”(Display > Assigned Materials)。在“大纲视图”(Outliner)中展开 lamp_body 和 lamp_brass_Fixture,以显示其材质。选择这两种材质,然后在“特性编辑器”(Property Editor)中单击“添加”(Add),将其添加到集合中。
4.在“渲染设置”(Render Setup)编辑器中的 LampBase_shaders 集合上单击鼠标右键,然后选择“创建连接覆盖”(Create Connection Override)。
将任何 Maya 着色器的“透明度”(Transparency)属性从“属性编辑器”(Attribute Editor)拖放到“特性编辑器”(Property Editor),然后将覆盖映射到任何纹理,如“分形”(Fractal)。结果如下所示。
或者,您可以在“特性编辑器”(Property Editor)的“类型属性”(Type Attribute)字段中输入 transparency,然后将覆盖映射到纹理。
注:
可以将连接覆盖同时应用于多个着色器。覆盖节点在集合内的所有着色器中搜索指定属性。在本例中,由于 blinn 和 lambert 都具有“透明度”(Transparency)属性,因此覆盖将应用于这两个着色器的透明度。
连接覆盖将应用于集合中的所有着色器;例如,在本例中:LampBase_shaders 集合中的 lampBody_blinn 和 lampBase_lamber。如果还为果盘指定了 lampBody_blinn 或 lampBase_lambert 着色器,即使最初意图是仅覆盖灯的透明度,也会应用透明度覆盖。因此,有必要验证应用于层中每个对象的着色器,以避免意外覆盖对象的着色器。为此,请在“大纲视图”(Outliner)中选择“显示 > 指定的材质”(Display > Assigned Materials)。