Defining the Target Rig Manually

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
            • shoulder.R
              • upper_arm.R
                • forearm.R
                  • hand.R
    • thigh.L
      • shin.L
        • foot.L
          • toe.L
    • thigh.R
      • shin.R
        • foot.R
          • toe.R

Here is a visual illustration of the bone hierarchy:

mwa-010-armature

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.

mwa-020-myrig

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.

4 kommentarer till Defining the Target Rig Manually

  1. Ariana Alexander skriver:

    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.

    Gilla

    • thomasmakehuman skriver:

      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.

      Gilla

  2. David skriver:

    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.

    Gilla

  3. Pingback: character game,film animation and rigging research – Michael carcary games incubator project

Lämna en kommentar