代理引用提示
 
 
 

替换引用与代理引用

“引用编辑器”(Reference Editor)提供两种方法来替换父场景中的文件引用。每种方法都有其优点和限制。

“替换引用”(Replace Reference)命令打开一个文件浏览器,以将当前引用替换为所选择的其他引用。组节点和/或定位器保持不变。文件引用在父场景级别存在的任何编辑将应用于替换的文件引用,因为参考节点未修改。尽管这适用于所替换的文件引用与原始文件引用具有相同节点名称和 DAG 层次的情形,但具有受限的应用程序。如果节点名称和 DAG 层次不同,您可能会在 Maya 尝试将引用编辑应用到替换的引用时遇到错误,并可能导致数据丢失。Maya 不会跟踪在使用“替换引用”(Replace Reference)命令时出现的替换,建议不要在引用层次中存在嵌套的文件引用时使用该替换。

通过代理引用,可以通过为给定文件引用创建一组可能的替换引用(代理)来替换一个或多个文件引用。将创建一个新节点来跟踪多个代理。通过代理引用,可以通过选择代理引用并根据其代理标记重新加载它们,来一次全局替换许多代理引用。当需要快速从低分辨率版本的场景替换为高分辨率版本时,这会很有帮助,反之亦然。

在代理引用之间共享动画

如果希望在特定文件引用的代理引用之间共享动画,必须确保在特定文件引用的各种代理文件与其父场景之间存在对等状态。也就是说,在父场景中设置关键帧时,您要确保动画可以应用到正确的节点,而不管加载的代理文件为何。要实现此对等,代理文件必须进行如下设置:

使用代理引用渲染

在渲染包含文件和代理引用的场景时,除非另有指定,否则将仅在图像中渲染当前加载的文件和代理引用。必须确保在渲染之前加载要显示在渲染中的任何引用。可以使用渲染前 MEL 和渲染后 MEL 脚本切换代理以用于渲染。

例如,如果低分辨率代理当前显示在场景中并需要在渲染之前切换到高分辨率版本,然后在渲染完成后返回低分辨率版本。通过确定代理管理器在“引用编辑器”(Reference Editor)中的名称,随后可以确定每个代理的相关代理集节点的名称,然后创建一个简单脚本,用于在渲染之前和之后在低和高分辨率版本的代理之间切换。

示例

以下工作流描述一种用于在渲染之前和之后在代理引用之间切换的方法:

  • 通过查看“引用编辑器”(Reference Editor)中的名称来确定代理管理器节点的名称。在此示例中,代理管理器名为 treePM
  • 选择代理管理器节点,以便可以通过查看选定节点在“Hypergraph”内的依存关系图来确定各个代理节点。可以通过在命令行键入 select -replace treePM 来选择代理管理器节点。在此示例中,显示在 treePM 下游的节点称为 treeRNtreeloRN (其中 treeRN 是原始高分辨率文件引用,treeloRN 是低分辨率代理)。
  • 按如下方式创建简单的渲染前和渲染后 MEL 脚本,以在低和高分辨率版本之间切换:

    渲染前脚本:

    //switch to the high res version

    proxySwitch treeRN;
    

    渲染后脚本:

    //switch to the low res version

    proxySwitch treeloRN;
    
    注意

    多个代理引用可以使用上述方法进行切换。即,可以将多个 proxySwitch 行添加到每个脚本中以同时加载或卸载若干个代理。