您可以按照在场景中切换不受约束的场景、缓存和定位器表示的相同方式来切换约束的表示。但是,切换表示时,约束的行为及其持久性取决于层次中的集合节点位置。以下部分对此概念进行了更详细的介绍。
如果顶级 assemblyReference 节点是目标对象或受约束对象,则切换表示时约束行为将保持。例如,如果 assemblyReference 节点被约束为目标对象,则集合表示从“场景表示”(Scene representation)切换为“缓存表示”(Cache representation)时,约束行为不会改变。
当您切换符合以下条件的 assemblyReference 节点或成员上的表示时,约束行为的持久性会改变:
在此情况下,切换表示会导致从场景中卸载受约束对象。Maya 随后将创建一个 fosterParent 节点来临时替代已卸载的 assemblyReference 节点或集合引用成员。受约束对象恢复到其不受约束的位置和行为,直到重新载入集合引用节点或成员。
通过此 fosterParent 节点可以维护与约束节点的连接。fosterParent 节点暂时继承来自 assemblyReference 节点的变换值。当重新加载 assemblyReference 节点时,fosterParent 节点将被移除。重新加载 assemblyReference 节点时,不会向其应用对 fosterParent 节点所做的修改。