SmartBody can automatically adapt a character to the standard SmartBody skeleton, and thus allow a character to use the SmartBody controllers (such as gazing, head nodding) as well as the default SmartBody animations if the character were to be retargeted. This is done by calling the guessMapping() function on a joint map. For example:
mycharacter = scene.getCharacter(characterName)
myskeleton = mycharacter.getSkeleton()
jointMapManager = scene.getJointMapManager()
sbJointGuessMap = jointMapManager.createJointMap(characterName+"-GuessMapping", True) # True to display mapping, False to hide this output
sbJointGuessMap.guessMapping(myskeleton)
sbJointGuessMap.applySkeleton(myskeleton)
The automatic mapping is done by searching the topology and examining the bone/joint names. Note that the automatic mapping will not work for skeletons that aren't similar to a bipedal, since their topology and joint names would be different.. The images below show how the algorithm finds matches among some commonly used skeletons: