将节点属性发布到资源可以使此属性在资源级别可见。已发布的属性由三部分组成:
已发布的属性可以修改,就像直接修改对应的已封装属性的值。这允许:
已发布的属性组成了资源的界面,并且在资源锁定后仍然可以编辑。因此,通过发布一组属性,然后锁定资源,就可以确保用户只能通过给定的已发布属性与该资源的内容进行交互。
如果资源上存在已发布的名称,但此名称未连接到内部节点属性,则这一已发布的名称为未绑定。修改未绑定属性不会影响资源内容。使用“资源编辑器”(Asset Editor)可以为已发布的名称绑定和取消绑定属性。
已发布的属性可以从子资源发布到父资源。这样就可以构建资源层次,更好地管理场景。
例如,在汽车场景中可以为前轮创建名为 front_wheel_AST 的资源,此资源由命名为 car_AST 的整车资源封装。然后可以先将车轮旋转发布到 front_wheel_AST,然后再将这些已发布的属性发布到 car_AST。
也可以将资源节点自身的属性发布到自身。如果要在锁定资源本身的情况下允许美工人员更改视图或控制其他资源属性,这将非常有用。
用户也可以发布节点。有关详细信息,请参见已发布的节点。
与发布属性类似,用户可以将节点发布到资源。对于任一类型资源而言,已发布的节点是资源处于“黑箱模式”(Black Box mode)时唯一可见、可选和可操纵的封装节点(在“大纲视图”(Outliner)、“属性编辑器”(Attribute Editor)和“通道盒”(Channel Box)中)。
特别是对于高级资源而言,已发布的节点也可以用于定义封装 DAG 节点和外部 DAG 节点在层次中的交互方式。除了两种类型资源通用的节点发布方式之外,高级资源还允许以三种不同方式发布 DAG 节点。
父锚点和子锚点分别识别高级资源中的节点是否允许成为资源外节点的父对象或子对象。选择变换可用作以资源为中心选择中选定的节点(有关详细信息,请参见以资源中心选择)并且有助于将用户引导至资源中的主节点。
“创建资源”(Create Asset)选项窗口提供了在创建时通过这种方式自动发布根的选项。有关详细信息,请参见创建资源。
在文件输入和输出过程中,与其他关系相比,Maya 处理已发布节点父关系的方式较为特殊。父锚点和子锚点依赖父对象/子对象的已发布的名称来管理对象之间的关系,而不是直接使用节点名称。这特别适用于处理文件引用。
例如,假设用户引用带有花束的文件并将其用作父文件中手臂的父对象。
如果更改花束文件的层次或名称,Maya 将无法保持父文件中手臂和花束之间的关系,因为 DAG 路径已经发生更改。因此花束将失去它的所有关系数据并重置为原始状态。
通过将花束封装到资源中并将 bouquet_GRP 发布为子锚点可以避免此问题。然后就可以更改花束的名称和结构且不会影响与手臂的关系。
已发布的属性和节点代表了用户可以访问的资源各部分。资源中的其余属性和节点可以通过以下方式隐藏:将属性或节点设置为“黑箱”(Black Box)模式(有关“黑箱”(Black Box)模式的详细信息,请参见隐藏未发布的节点和属性)。
但是,即使无法看到这些属性和节点,用户仍可以对其进行修改。若要防止这种情况的发生,也可以锁定资源。资源锁定后,用户只能将已发布的节点用作父对象/子对象以及修改已发布的资源(有关锁定资源的详细信息,请参见锁定资源)。