The MHX rig

Bone layers

The MHX rig uses bone layers to group joints which belong together, to facilitate the animator's work.

The bone layers are organized as follows.

  1. The MasterFloor and Root (i.e. hip) bones.
  2. FK spine.
  3. Left arm IK.
  4. Left arm FK.
  5. Left leg IK.
  6. Left leg FK.
  7. Left finger control.
  8. Left individual fingers.
  9. Face control.
  10. Chest
  11. Head, jaw, eyes.
  12. Left palm
  13. Unused.
  14. Unused
  15. Helper bones, not intended for the animator.
  16. Small deform bones, not intended for the animator.
  17. Unused
  18. IK spine
  19. Right arm IK.
  20. Right arm FK.
  21. Right leg IK.
  22. Right leg FK.
  23. Right finger control.
  24. Right individual fingers.
  25. Unused.
  26. Unused.
  27. Unused.
  28. Right palm.
  29. Unused.
  30. Unused.
  31. Unused.
  32. Major deform bones. Can be helpful to look at.
Layer 1-4 + 19-20.

Layer 5-8 + 21-24

Layer 9-16 + 32


Posing arms and legs



When the sliders above the face panel are dragged to the left, the arms and legs are controlled by the FK (Forward Kinematics) rig on layers 4, 20 and 6, 22, respectively. We pose the bones by rotating the circles surrounding the bones to the desired position. Since the FK bones can only be rotated, translation is not a meaningful operation, and both the R-key and G-key rotate the bones.

Forward Kinematics means that each bone is rotated into place, and all children follow. This is very intuitive, and can lead to natural rotation arcs. Many people use FK for limbs that swing freely, like the arms when walking. However, it is difficult to use FK when the precise location of the chain endpoint matters. It is important that the feet are planted exactly on the ground when walking, and that the hands are at exactly the right positions when grabbing a rail.

Inverse Kinematics (IK) was created to solve this problem. The IK rigs for the arms and legs are found on layers 3, 19 and 5, 21, respectively. We pose an arm by  moving the hand into position. The upper and lower arms are then moved in some way that Blender feels fit. To control the elbow location, we can move its pole target, i.e. the little box connected to the elbow with a rubber band.

The leg IK rig is similar and illustrated in the figure below.

Arms

The IK rig for an arm has the following controls:
1. Wrist control to pose the wrist.
2. Pole target, visually attached to elbow.
3. Hand control, to rotate the hand within allowed limits.
4. Shoulder control, to pose the shoulders.

Legs

The IK rig for a leg has the following controls:
1. Foot control, to position the foot
2. Pole target, visually connected to the knee.

Feet

The IK foot rig deserves some attention. Known as the reverse foot setup, it allows the foot to be rotated around three different pivot points. The ToeIK, FootIK and LegIK  bones rotate the foot around the toe tip, the ball and the heel, respectively. The LegIK bone (the snowshoe shape) is also used to position the foot.

FK/IK switch

Both FK and IK have their places, and sometimes one wants to use both in the same action. Perhaps our character first walks, with leg IK and arm FK, then picks up an object with arm IK on her right arm, and then starts to swim with both leg and arm FK. The choice between FK and IK is controlled by the four sliders above the face panel, as shown in figure below. Since the slider is just a bone in the armature, it can be keyed just as any other bone. This allows us to dynamically switch between the FK and IK rigs in the same action.

The master bones

The root and the master bones are located on layer 1. The root, in the hip area, is the parent of the entire rig. All other bones are children or grand-children of Root, except for the end effectors (HandIK and LegIK), the pole targets (ElbowIK and KneeIK) and the face panel, which do not have parents. All parent-less bones have a ChildOf constraint targeting the MasterFloor bone, which is the big, round bone surrounding the character's feet. By moving MasterFloor we can reposition the entire character. This is something that we will use when stitching mocap actions together in the NLA editor.

Having the master bone on the floor is usually the best choice, but not always. An acrobat swirling around in the air normally rotates around his hips, and Spiderman has his pivot point between his shoulders. For this reason there is also a MasterHips and MasterShoulder bone, and the parentless bones have ChildOf constraints targeting them. They are normally hidden and the ChildOf constraints have influence zero, but they can be unhidden and the influence can be changed, should the need arise.

Fingers

The easiest way to control the fingers is with the control bones on layers 7 and 23. When we rotate a finger control bone, each individual link rotates the same amount around its local X axis. The first link can also be rotated around its Z axis to some degree. This is the simplest way to control entire fingers e.g. to create a fist. For situations that require more control, the individual links are available on layers 8 and 24. We can switch between the two modes of control (control bone and individual links) with the sliders on both sides of the face panel. There is one slider for each finger, to allow different fingers to be controlled differently.

Finger rig on layers 7,8 and 23,24.

Face

The expression on the character's face is controlled from the face panel on layer 9, cf the FK/IK switch figure above. The bones drive various shapekeys when they are moved along their local X and Z axes. The area affected by each slider should be intuitive, and at any rate it is easy to try them out. The face shapes only work if the corresponding options are enabled both for export and for import.

Animation of facial expressions will be discussed further in the section which deals with the lipsync tool.

Head

On layer 11 we find bones to pose the head area: Neck, Head, Jaw, Tongue, and Gaze. The jaw bone opens the mouth, just as one of the shape keys. The difference is that the shapekey interpolates vertices linearly, whereas the bone rotates them.

Three tongue bones control the movement of the tongue. To make the character stick out her tongue, scale these bones along their local Y axes.

The eye are staring at the Gaze_L and Gaze_R bones, respectively. These bones are parented to a single Gaze bone which controls where the eyes are looking.

Deform bones

All deform bones exist on layers 16 and 32. They should normally not be seen by the animator, but are necessary when doing bone weighting. Since the MHX mesh is already weighted, you usually don't need to access these bones. However, if you want to modify the weights you find the deform bones here.

Helper bones

The helper bones on layer 15 are important for the rig's inner working, but the animator does not need to see them. However, I want to point out some pecular helper bones: end effectors and pole targets for the FK rig. The bones LegIK, ElbowIK and KneeIK have the FK counterparts LegFK, ElbowFK and KneeFK. These bones have no function when posing the character, but are used by the mocap tool to transfer mocap animations from the FK rig to the IK rig.