Example: Duplicating animation on non-matching hierarchies

With assets, you can also transfer attributes between models composed of different component types and different configurations. In the following example, the walk cycle for a skeleton is transferred to a robot model with no joints at all.

The components for both the skeleton and the robot each reside within their own assets.

However, the robot’s pivot points don’t match precisely with the skeleton’s joints. For example, the robot’s elbow is composed of three parts, each of which only rotate in one direction. The skeleton’s elbow is a single joint that rotates in all 3 directions.

To ensure that the robot mimics the skeleton properly, you must publish each of these individual elbow rotations as one axis of the asset’s elbow rotation.

However, just publishing the rotations axis-to-axis does not yield the correct result. This is because the axis of each elbow part is not consistent with the corresponding axes of the skeleton’s elbow joint.

For example, the robot elbow’s Y axis actually maps to the skeleton elbow’s X axis.

To fix this problem, you must rename the attributes as you publish them. By publishing the skeleton elbow’s rotateX as the robot asset’s rotateY, you ensure that the movement of the robot’s elbow matches that of the skeleton.

To publish three elbow parts as a single elbow

  1. From the Outliner, select the robot’s left elbow1 node.
  2. Select elbow1’s rotateX attribute in the Channel Box.
  3. Select Assets > Publish Attributes > to set the Publish Attribute Options .
  4. Set Publish to Selected channel box attributes.
  5. Set Attribute name to Custom name.
  6. Set Custom string to lelbow.rotateY.

Repeat the above procedure mapping elbow2’s rotateY to the asset’s rotateZ and elbow3’s rotateZ to the asset’s rotateX.

Once you have published these attributes, you can transfer values from the skeleton asset to the robot asset.

To transfer the walk cycle to another character

  1. From the Outliner, select PersonA_AST.
  2. Shift + left-click robot_AST.
  3. Select Edit > Transfer Attribute Values > to set the Transfer Attribute Values Options .
  4. Turn Values on.
  5. Set In connections to Share with source.
  6. Click Apply and Close.

    The robot changes position to match Person A.

  7. Play the animation to see Person A’s walk cycle is replicated on the robot.

The walk cycle can be duplicated from the skeleton to the robot because at the asset level the two objects appear the same, regardless of their internal components.