Characterization – Animation offset with non T-Pose
There is a potential issue in animation being offset when loading onto character’s setup and characterized in non-standard T-Pose. The issue may be apparent when using the Character Controls, Story or Retargeting tools to load the animation. The issue is not a functional defect in the software.
An example scene setup that would show the issue in MotionBuilder is below:-
1. Character skeleton has been setup in 3ds Max, Maya or Softimage. The skeleton has the arm joints rotated downwards from shoulders meaning that they are not outstretched in a standard T-Pose with arms outstretched. File has been exported to FBX with FBX Plug-In.
2. FBX with character skeleton from step 1 has been opened in MotionBuilder with File>Open(MotionBuilder 2011 or newer) or File>FBX Plug-In Import(pre MotionBuilder 2011)
3. Character node has been added to scene from Asset Browser>Characters. From the Navigator View, the Character Definition has been setup with the joints from the skeleton in the mapping list. Characterize option has been selected and Control Rig created.
The screenshot below shows the imported skeleton characterized with Control Rig. As can be seen from the screenshot, both the right and left arm joints on skeleton have been rotated downwards prior to characterization. The joints are not setup in standard T-Pose:-
4. Animation clip from a character using standard T-Pose characterization has been loaded onto the character using the non-standard T-Pose for characterization. The animation clip could have been loaded through Character Controls Window>File>Load Character Animation or through Story Character Track.
Result: After loading the animation you will see offset on the arm joints on the character. In example screenshot below, the offset on the animation can be seen on the character on the right. The animation on the arms appears to be rotated in-wards. The character on the left on the screenshot shows the original animation:-
SolutionThe offset you will see after loading the animation is the same as the offset in the poses of the skeleton’s arms on characterization between the two character setups used to load to/from. The original characterization pose used for the arms on both characters is shown in the screenshot below. The source animation clip skeleton is highlighted in green, with the new character skeleton you are using to load onto highlighted in red.:-
If the characterization setup used is the same between the characters you will not see the issue after loading the animation. To resolve the issue, you should ensure that the same pose for characterization is used for all character skeletons on project, this will ensure that you will not see offset after loading animation between characters on project.
To resolve the problem on any character setups you have, please consider the following workaround:-
1. From Navigator>Character Definition, turn off Characterize to remove Characterization.
2. From Navigator>Control Rigs, select Control Rig node and hit delete to delete Control Rig.
3. In the Viewer Window or Schematic View, select the arm joints on the character and rotate so that the skeleton is in a standard T-Pose with arms outstretched to sides.
4. From Navigator> Character Definition, turn back on Characterize to Characterize character.
5. From Navigator> Character Definition, choose Control Rig>Create to create new Control Rig.
Result: the animation can then be loaded from standard character without issue. The animation should no longer be offset on the character arms as before.
Note: The above workaround is only usable if you are willing to modify your original character setups on project to match standard being used. If for some reason you have multiple characters setup with different T-Poses, you may need to consider the following workaround instead:-
1. Use File>Merge to merge your original character animation clip(using standard T-Pose) into scene setup with your new character setup(using non-standard T-Pose)
2. From Character Controls, Character drop-down menu, select your new character(with the non-standard T-Pose used for Character definition) and, from Edit>Input- set the Input to Character.
3. From Navigator>Character Settings, modify the Retargeting settings for the Character until you are happy with how the motion is mapped between the original and new character. Once you are happy with the results, choose Plot Character option to plot the motion to the new character setup for further edit.