Internally, MakeWalk retargets animations to an armature with the following bone hierarchy.
- hips
- spine
- spine-1
- chest
- chest-1
- neck
- head
- shoulder.L
- upper_arm.L
- forearm.L
- hand.L
- forearm.L
- upper_arm.L
- shoulder.R
- upper_arm.R
- forearm.R
- hand.R
- forearm.R
- upper_arm.R
- neck
- chest-1
- chest
- spine-1
- thigh.L
- shin.L
- foot.L
- toe.L
- foot.L
- shin.L
- thigh.R
- shin.R
- foot.R
- toe.R
- foot.R
- shin.R
- spine
Here is a visual illustration of the bone hierarchy:
In order to retarget to an armature with different bone names, we must define a map between the given bones and the internal names. By default, MakeWalk attempts to do this automatically. However, automatic bone mapping may easily be confused for non-trivial rigs. If this happens, one can define the bone map manually.
A bone map for a target armature is defined by a .trg file located in the target_rigs folder under the makewalk directory. The folder already contains three files, for retargeting the MHX advanced rig, the MakeHuman alpha 7 rig, and Rigify. These rigs are too complicated to identify the bone map automatically, so MakeWalk recognizes these rigs and use the predefined bone map.
Create a .trg file using an existing file as a template. E.g., a .trg file could look like this:
Name: My_Rig Bones: MyHips hips MySpine spine MyChest chest MyNeck neck MyHead head MyLeftShoulder shoulder.L MyLeftUpperArm upper_arm.L MyLeftForeArm forearm.L MyLeftThigh thigh.L MyLeftShin shin.L MyLeftFoot foot.L MyRightShoulder shoulder.R MyRightUpperArm upper_arm.R MyRightForeArm forearm.R MyRightThigh thigh.R MyRightShin shin.R MyRightFoot foot.R
Note that it is not necessary to define maps to all bones. Bone names must not contain spaces, since whitespace is used as a delimiter in the .trg file. If the bones in your armature do contain spaces, replace them by underscore ( _ ). MakeWalk treats space and underscore as equivalent, so this is not a problem, except for very strange naming conventions.
Save the .trg file with the name my_rig.trg in the target_rigs folder and press the Reinit Target Panel button. My_Rig should now appear in the Target rig list. Select it. In the FK bones sections, the My_Rig bone names are now listed. Make sure that the Auto Target Rig option is deselected, to override automatic bone mapping. Finally go to the main panel and press Load And Retarget. The animation should now be loaded.
Is there a way for the Makewalk standard rig to include fingers? It seems a shame that fingers are not automatically accounted for when retargeting. Every BVH I use has finger animation.
GillaGilla
Interesting. I have never seen a bvh file with finger animations, at least not bvh files made by motion capture. But I think there might be bvh files (most likely hand-animated) from Daz and Poser with fingers.
In principle it is not difficult, but I have not actively worked on MakeWalk for a long time and don’t know when and if I will do so again.
GillaGilla
I am in the same situation as Ariana. If I define my own source rig file with the hand bones added will it work? thanks.
GillaGilla
Pingback: character game,film animation and rigging research – Michael carcary games incubator project