“引用编辑器”(Reference Editor)提供两种方法来替换父场景中的文件引用。每种方法都有其优点和限制。
“替换引用”(Replace Reference)命令打开一个文件浏览器,以将当前引用替换为所选择的其他引用。组节点和/或定位器保持不变。文件引用在父场景级别存在的任何编辑将应用于替换的文件引用,因为参考节点未修改。尽管这适用于所替换的文件引用与原始文件引用具有相同节点名称和 DAG 层次的情形,但具有受限的应用程序。如果节点名称和 DAG 层次不同,您可能会在 Maya 尝试将引用编辑应用到替换的引用时遇到错误,并可能导致数据丢失。Maya 不会跟踪在使用“替换引用”(Replace Reference)命令时出现的替换,建议不要在引用层次中存在嵌套的文件引用时使用该替换。
通过代理引用,可以通过为给定文件引用创建一组可能的替换引用(代理)来替换一个或多个文件引用。将创建一个新节点来跟踪多个代理。通过代理引用,可以通过选择代理引用并根据其代理标记重新加载它们,来一次全局替换许多代理引用。当需要快速从低分辨率版本的场景替换为高分辨率版本时,这会很有帮助,反之亦然。
如果希望在特定文件引用的代理引用之间共享动画,必须确保在特定文件引用的各种代理文件与其父场景之间存在对等状态。也就是说,在父场景中设置关键帧时,您要确保动画可以应用到正确的节点,而不管加载的代理文件为何。要实现此对等,代理文件必须进行如下设置:
在渲染包含文件和代理引用的场景时,除非另有指定,否则将仅在图像中渲染当前加载的文件和代理引用。必须确保在渲染之前加载要显示在渲染中的任何引用。可以使用渲染前 MEL 和渲染后 MEL 脚本切换代理以用于渲染。
例如,如果低分辨率代理当前显示在场景中并需要在渲染之前切换到高分辨率版本,然后在渲染完成后返回低分辨率版本。通过确定代理管理器在“引用编辑器”(Reference Editor)中的名称,随后可以确定每个代理的相关代理集节点的名称,然后创建一个简单脚本,用于在渲染之前和之后在低和高分辨率版本的代理之间切换。
以下工作流描述一种用于在渲染之前和之后在代理引用之间切换的方法:
//switch to the high res version
proxySwitch treeRN;
//switch to the low res version
proxySwitch treeloRN;