渲染设置疑难解答

疑难解答 - 看不到添加到层中的对象

请尝试以下可能的解决方案。

检查是否位于正确的渲染层中

无论创建的是渲染层还是场景渲染层,每次只能有一个渲染层可见。

可以将对象添加到层中的集合,而不必位于该层中。因此,您可以将对象添加到目前不位于其中的层。

若要确定所处的层,请查找带有 亮显图标的层。如果位于场景层中,则“渲染设定”(Render Setup)编辑器顶部的“场景”(Scene)设置区域中的 将亮显。

若要切换到其他渲染层或场景层,请在层上单击

检查已禁用的集合中是否存在任何对象

集合自上而下进行解释。因此,如果同一对象显示在两个集合中且其中一个集合已禁用,则列表中排在下面的集合状态将确定最终状态。请参见控制集合的可见性

在此示例中,眼睛几何体同时属于顶部和底部集合。但是,由于集合自上而下进行解释且列表中排在下面的集合已禁用,因此它优先于已启用的集合,且眼睛不会显示在渲染层中。

覆盖也自上而下进行解释。请参见覆盖的应用顺序

提示: 若要查找对象所属的集合,请在“大纲视图”(Outliner)中选择对象,然后单击鼠标右键以展开“渲染设置”(Render Setup)菜单,并选择“在所有渲染层中查找”(Find in All Render Layers)。然后,这些集合将显示在“特性编辑器”(Property Editor)中。请参见确定对象所属的集合

通过单击“查看全部”(View All)检查集合成员身份

选择集合,然后单击“查看全部”(View All)可显示集合成员的列表。

注: 另请参见下面的疑难解答 - 通过表达式添加的成员未包括在集合中

检查是否已为集合设置任何过滤器

集合“特性编辑器”(Property Editor)中的“集合过滤器”(Collection Filters)功能可用于仅将特定节点类型包含在集合中。如果对象不显示在层中,则有可能已被过滤设置排除。请参见标识集合中缺少的成员按节点类型添加集合成员

检查表达式中的大写是否正确

表达式区分大小写;因此,*apple* 与 *Apple* 不同。如果使用表达式填充集合,请根据节点名称检查表达式,看看是否使用正确的大小写来包括节点。

检查集合中是否缺少任何成员

如果某个节点已添加到集合,但稍后从场景中删除,则集合中可能会缺少该节点。“渲染设置”(Render Setup)编辑器使用 图标来标记层和集合,用来提醒您缺少的成员。如果您有许多层,可能需要向下滚动层列表来找出有错误的层。

检查是否将节点添加到子集合而非父集合

父集合将确定成员身份,而子集合应该只包含父集合的部分成员。如果将 pSphere1 和 pSphere2 分别添加到父集合和子集合,则 pSphere2 将在层中不可见。请参见创建子集合

疑难解答 - 通过表达式添加的成员未包括在集合中

如果单击“查看全部”(View All)显示集合成员的列表,但发现某些节点未列出,这可能是因为您未使用 : 或 :: 来表示名称空间。

例如,表达式 *foo* 仅与包含字母 foo 的节点名称匹配。它与包含字母 foo 的名称空间不匹配。因此,使用该表达式无法包括 food:food1、food:bread 和 food:fruit:apple 等节点。若要仅包括前两个节点,可以使用表达式 foo:*。若要包括所有三个节点,可以使用表达式 foo::*。

唯一的例外是表达式 *,它包含所有名称空间中的所有节点。

疑难解答 - 视口为空或切换层时看不到预期内容

刷新层。检查层可见性图标 周围是否显示红色边界,并单击该图标以相应地更新层。

覆盖在场景中没有任何效果疑难解答

检查要创建覆盖的节点是否属于集合的一部分。若要执行此操作,请在集合的“特性编辑器”(Property Editor)中单击“查看全部”(View All)。如果要创建覆盖的节点在“查看集合对象”(View Collection Objects)窗口中未列出,那么这就是导致覆盖不生效的原因。

出现这种情况的原因可能包括:节点名称拼写错误(导致与表达式不匹配);或者,在“特性编辑器”(Property Editor)中选择的“集合过滤器”(Collection Filter)错误(导致所需的节点被意外过滤掉)。

疑难解答 - 我可以创建着色器覆盖,但在视口中看不到预期结果

一个可能的原因是,没有初始着色组的对象不支持着色器覆盖。这包括 Arnold 替代对象。

改为创建材质覆盖,或为您的对象指定着色器,然后再创建着色器覆盖。

疑难解答 - 通过脚本创建的时间、帧范围、距离或角度上的覆盖生成的结果不准确

Maya 中使用内部单位计算覆盖,这些单位与您在 Maya 用户界面中看到的单位不同。因此,如果使用脚本在任何时间、帧范围、距离或角度属性上创建覆盖,您应确保使用内部单位设置这些值。

Maya 中时间的内部单位是时间标记 - 六千分之一 (1/6000) 秒,而时间的默认用户界面单位是电影 - 24 帧/秒。

有关内部单位的详细信息,请参见“Maya 开发人员帮助 > C++ API 参考”(Maya Developer Help > C++ API Reference)中的 MTimeMDistanceMAngle API 文档。有关如何转化单位的信息,请参见 Maya 安装文件夹下的 ..\Python\Lib\site-packages\maya\app\renderSetup\model\override.py 文件中的 getAttrValuesetAttrValue 函数文档。

对于通过用户界面创建的覆盖,其转化由 Maya 自动执行。

疑难解答 - 导出的 json 文件指示时间/帧范围、距离或角度上覆盖的值不正确

这些值显示“不正确”,因为 Maya 中使用内部单位计算覆盖,这些单位与您在 Maya 用户界面中看到的单位不同。例如,20 帧覆盖值将转换为 20 帧/24 帧/秒 * 6000 时间标记/秒 = 5000 时间标记。

有关详细信息,请参见上面的疑难解答 - 通过脚本创建的时间、帧范围、距离或角度上的覆盖生成的结果不准确

疑难解答 - 无法使用鼠标中键拖放属性以创建覆盖

将以下标志添加到属性所属节点的 AE<NodeType>Template.mel 文件中的属性控制命令:

-dragCallback "AEdragCallback"

有关示例,请参见 AElambertCommon.mel

可以使用鼠标中键拖放 Lambert 节点的“凹凸贴图”(Bump Mapping)属性,因为在 UI 中创建凹凸贴图属性的过程的 attrNavigationControlGrp 部分向其添加了 -dragCallback "AEdragCallback" 行:

global proc AEshaderBumpNew (string $attrName)
{
    setUITemplate -pst attributeEditorTemplate;

    attrNavigationControlGrp 
        -label (uiRes("m_AElambertCommon.kBumpMapping"))
        -at $attrName
        -dragCallback "AEdragCallback"
        bumpControl;

    setUITemplate -ppt;
}
注: 默认情况下,可在安装目录的 ..\scripts\AETemplates 文件夹中找到属性编辑器模板。

疑难解答 - 无法将节点添加到集合

如果选择一个节点并在“特性编辑器”(Property Editor)中单击“添加”(Add),然后该节点在节点列表中灰显并采用斜体形式,请检查“集合过滤器”(Collection Filter)下拉列表,看看为集合选择的节点类型是否正确。如果尝试添加一个变换节点,但将“集合过滤器”(Collection Filter)设置为“着色器”(Shaders),则该节点不会添加到集合中。

疑难解答 - 导入和导出 .json 文件

疑难解答 - 无法导入 .json 文件

  • 选择“文件 > 全部导入”(File > Import All)时,只能导入使用“文件 > 导出全部”(File > Export All)导出的文件(即:属于完整渲染设置的文件)。使用“文件 > 导出选定对象”(File > Export Selected)导出的文件;即:包含渲染设置子集(例如,一个层和一个集合或两个覆盖)的文件只能通过单击 按钮或者层或集合的快捷菜单导入。

疑难解答 - 无法导出 .json 文件

可以通过“导出选定对象”(Export Selected)导出多个项目;但是,这些项目必须属于同一类型。例如,不能仅导出一个层和一个覆盖。否则将出现错误,或者不会显示“导出选定对象”(Export Selected)上下文菜单。

请参见导入和导出渲染设置

疑难解答 - 导入 .ma 或 .mb 文件时的 AOV 问题

如果在使用“渲染设置”(Render Setup)系统时通过“文件 > 导入”(File > Import)来导入 .ma.mb,AOV 不会与场景文件一起导入。

但如果在使用传统渲染层系统时执行相同操作,AOV 与场景一起导入。

疑难解答 - 单击 或者在层或集合上单击鼠标右键时不显示用户模板

以前,在 Maya 2016 Extension 2 中,默认用户模板位置为 <Documents>\maya\Templates。在 Maya 2017 中,默认用户模板位置已更改为 <Documents>\maya\RSTemplates。这也是当前行为。如果您将模板保存到 Maya 2016 Extension 2 中的默认位置,则系统无法在更高版本 Maya 中自动识别它们。若要解决此问题,请将模板从 Templates 文件夹复制到新的 RSTemplates 位置。

疑难解答 - 在覆盖 place3dTexture 节点上的属性时不创建子集合

place3dTexture 节点是变换节点。因此,如果将对象添加到集合中,然后拖放 place3dTexture 节点上的属性以覆盖其属性之一(例如,平移纹理),结果不会创建 place3dTexture 子集合。

解决方法:选择 place3dTexture 节点并手动将其添加到集合中。您可以将其添加到对象集合中,或为这些节点创建单独的集合。如果是后者,请将“集合过滤器”(Collection Filters)下拉列表保留为其默认值(“变换”(Transforms))。

疑难解答 - 在属性上单击鼠标右键时无法选择创建绝对覆盖或相对覆盖

通常,如果不支持覆盖属性,则用于创建覆盖的相应快捷菜单也不可用。

单击 或者在层或集合上单击鼠标右键时停止 Maya 交互的疑难解答

将全局模板路径设置为访问速度缓慢的远程服务器,这可能会导致加载导入模板菜单(通过 或者通过层/集合快捷菜单)时减速。

建议改为将全局模板存储到本地服务器。

同样,如果局部或全局模板路径是由许多文件或子文件夹组成的文件夹,在访问快捷菜单时可能会减慢速度。如果出现这种情况,您可能要选择其他文件夹作为模板路径。

疑难解答 - 未出现任何操作、但在帮助行中看不到错误

错误可能已输出到“脚本编辑器”(Script Editor)中。检查“脚本编辑器”(Script Editor)中是否存在可能的消息。