Create an optimal target skeleton
The following tips help you to ensure that your FBX, USD or VSR file works well as a target.
Use pre-rotation, not keys
It's best to define the base pose of a skeleton using pre-rotation, not keys.
If keys put the skeleton into a T-pose, A-pose, or another suitable pose, and pre-rotations don't exist, you can still use the skeleton, but you'll need to know what the base pose looks like and use the map pose to both retain the pose used for mapping and to get best results. See About map mode and, if your skeleton uses keys rather than pre-rotations, see also Map pose and best rig practices in Getting more from Vicon Shogun.
About map mode
The process of creating the constraints between the source (solving) and target (retargeting) skeleton and setting the offsets is called mapping. Before mapping, both skeletons must be in the same pose. This involves posing the target skeleton to match the source (which is its base pose) and you do this in map mode. First you pose the target, then you create the constraints. At the time a constraint is created, its offset is calculated. The offset is the difference in pose between the source and target.
If you need to tweak the setup, or just check how it was set up, you can return to map mode. When making any adjustments, the target must be in the same pose it was when it was mapped. The map pose makes this possible. If constraints exist, implying a map pose is likely to exist, entering map mode automatically places the target skeleton in the map pose.
In addition to restoring the pose you used for mapping, the map pose is also useful for retargeting. Retargeting is faster and easier if the map pose is set because it uses the map pose as a starting point instead of the base pose, which, for some skeletons, may differ widely from the map pose.
Pay attention to degrees of freedom (DoFs)
Most skeletons have Degrees of Freedom (DoFs), and generally, skeletons work best when they have them.
- FBX files: After you import an FBX, check that the DoFs are set correctly before setting up retargeting.
- USD files: The USD format doesn't currently support DoFs. If you want to use DoFs with a USD skeleton, set them in Post after importing the USD skeleton.
Be aware of dummy bones
End joints that are dummy bones (bones with zero DoFs) are ignored by retargeting in that any keys they may have aren't retained and a map pose isn't stored for them.
- For extremities like the ends of hands, toes, and fingers, this is fine because the end bones must be zero DoF dummy bones with no keys.
- For parts of a skeleton that define things such as face, hair, and clothes, this can be problematic if these bones don't use pre-rotation to define their base pose. If you use keys to define a pose that is required for the skin to look right, note that these keys are not stored in the VSR/map pose because all of these bones are treated as dummy bones. If they aren't dummy bones already, change them to dummy bones because they have no data and setting them to dummy bones enables retargeting to ignore them and therefore to run faster.
To convert unused bones to dummy bones in Shogun Post, set the DoFs to off. To do this:
- In the table on the Retargeting tab, select the bones you want to be dummy bones, then right-click and select Disable Dofs.
Know what's above the root bone
On import:
Sometimes, skeletons in CG apps like Autodesk® Maya® or Autodesk® MotionBuilder® contain one or many bones, locators, groups, etc, above the root. Generally Vicon Shogun doesn't support this. Aim to have no extra nodes between the Retargeting node and the root bone in Shogun Post. Dummy bones can exist above the root. These must have zero DoFs and the root must have six DoFs. If this isn't already the case on import, in the target Root field, right-click and to specify the correct root, which switches DoFs, select Set Root.
On export:
In Shogun Post, on the Retargeting tab, in the Export Options section, you can select or clear the Include bones above root in VSR check box, which controls whether the dummy bones above the root are exported in the VSR.
If any objects above the root have non-zero transforms, they can be successfully imported in FBX format, but you'll probably need to modify the hierarchy in Post to set them aside during setup. If you need them to exist in the exported FBX because it will be merged into the original file, you must restore the hierarchy to its original form after you finish retargeting. You can create export scripts to do this via batching.
Know how to use scaling
Scale (values in the Scale channel) is not supported on bones or anything above them.
Retargeting enables you to scale each joint so that it better matches the source skeleton. You can revert this back to the original scale on export, if desired (see Export a retarget setup).