The MHX rig

By default, a character exported with the old mhx format was equipped with the MHX armature. This is a rather complex rig with quite a few features.

 mhx-100-import

To equip the character with the MHX rig, select Mhx as the Rig Type. If you want to animate face shapes with the face panel, select Face Shapes and Face Panel as well.

The bones are grouped into bone layers. Bone layers can be turn on and off in the MHX Main panel that appears in the user interface pane (N-pane), which is found to the right of the viewport. N-pane visibility can be toggled on and off with N-key.

The Root Layer

mhx-210-root

There are two bones on the Root layer:

  • master: the big bone located at the foot level. It is the ultimate parent of every other bone in the rig, and can be used to move the entire character, including ik effectors.
  • root: the wiggly bone located at the character’s center of mass. It also moves the entire character, but IK effectors remain at a fix position.

The Spine Layer

mhx-220-spine

The spine is an immedate child of the root bone.

  • spine:
  • spine-1:
  • chest:
  • chest-1
  • neck
  • head

On this layer the two clavicle bones are also found. They are children of chest-1 and also appear on the arm layers.

The Head Layer

mhx-230-head

This layers contains the bones of the head (not the Neck and Head bones, however).

  • jaw: Jaw bone
  • tongue_base: Inner part of tongue.
  • tongue_mid: Middle part of tongue.
  • tongue_tip: Outer part of tongue.
  • eye.L: Left eye.
  • uplid.L: Left upper eyelid.
  • lolid.L: Left lower eyelid.
  • eye.R: Right eye.
  • uplid.R: Right upper eyelid.
  • lolid.R: Right lower eyelid.
  • gaze. Target that the left and right eyes are tracking.

The Face Layer

mhx-235-face

If the character has been imported with face shapes and face panel, the face panel appears on the face layer. Use it to control the character’s expressions.

The FK Arm Layers

mhx-240-fk-arm

The left forward kinematics (FK) arm layer consists of:

  • clavicle.L: Left clavicle.
  • deltoid.L Left deltoid muscle.
  • upper_arm.fk.L: Left FK upper arm (humerus).
  • forearm.fk.L: Left FK forearm. Y rotation is locked on this bone. To twist the forearm, rotate the hand bone instead.
  • hand.fk.L: Left FK hand.

The bones on the right FK arm layer are analogous.

Note that there are two shoulder bones: clavicle and deltoid. It is not trivial to pose the shoulder, and with two shoulder bones better deformation is possible. The drawback is that an additional bone must be posed. However, in the common case that the arm is well below shoulder level, the deltoid bone can often be ignored.

The FK Leg Layers

mhx-250-fk-leg

The left FK leg layer consists of:

  • thigh.fk.L: Left FK thigh.
  • shin.fk.L: Left FK shin.
  • foot.fk.L: Left FK foot.
  • toe.fk.L: Left FK toes.

The right FK layer is analogous.

The Finger Layers

mhx-260-fingers

The long fingers on the Finger layers give a quick way to pose the fingers; the poses can be fine-tuned with the individual finger links on the Links layer.  The bones on the left Finger layer are:

  • thumb.L: Left long thumb.
  • index.L: Left long index finger.
  • middle.L: Left long middle finger.
  • ring.L: Left long ring finger.
  • pinky.L: Left long pinky.

The bones on the right Finger layer are analogous.

Rotating a long finger around the local X will cause all finger links to curl (rotate around local X). Rotation around local Z only affects the first finger link.

The Finger Link Layers

mhx-270-fingers

Each of the Finger Links layers contains fourteen bones; two for the thumb and three for each other finger. They are used to fine-tune the finger pose, once a rough pose is achieved with the long finger bones.

The Palm Layers

mhx-280-palm

The left Palm layer contain the meta-carpal bones:

  • thumb.01.L: Parent of the left thumb bones.
  • palm_index.L: Parent of the left index finger bones.
  • palm_middle.L: Parent of the left middle finger bones.
  • palm_ring.L: Parent of the left ring finger bones.
  • palm_pinky.L: Parent of the left pinky bones.

The bones on the right Palm layer are analogous.

The IK Arm Layers

mhx-300-ik-arm

The arms are controlled by FK by default, but inverse kinematics (IK) can also be used. To quickly switch between FK and IK, press the buttons labelled FK or IK in the MHX FK/IK Switch panel, which appears in the N-panel if an MHX armature is the active object.

  • clavicle.L: Left clavicle. Same bone as on FK layer.
  • deltoid.L: Left deltoid. Same bone as on FK layer.
  • hand.ik.L: Left hand IK effector. Positions and rotates the hand. Also controls forearm twist.
  • elbow.pt.ik.L: Left elbow pole target. Controls the location of the elbow, which lies in the plane spanned by the arm socket (head of upper arm), wrist (tail of forearm), and elbow pole target.
  • elbow.link.L: A rubberband that connects the elbow to the elbow pole target. This bone is merely a visual cue; has no effect and can not be selected.

The bones on the right IK arm layer are analogous.

The IK Leg Layers

mhx-310-ik-leg

The legs are controlled by FK by default, but IK can also be used. To quickly switch between FK and IK, press the buttons labelled FK or IK in the MHX FK/IK Switch panel, which appears in the N-panel if an MHX armature is the active object.

  • foot.ik.L: Left hand IK effector. Positions and rotates the hand.
  • toe.rev..L: Left reverse toe.
  • foot.rev.L: Left reverse foot.
  • knee.pt.ik.L: Left knee pole target. Controls the location of the knee, which lies in the plane spanned by the leg socket (head of thigh), ankle (tail of shin), and knee pole target.
  • knee.link.L: A rubberband that connects the knee to the knee pole target. This bone is merely a visual cue; has no effect and can not be selected.
  • shin.ik.L: The foot bones and the pole target control the thigh and shin rotation, except for the twist (local Y rotation) of the shin, which is handle by this bone instead. The IK shin bone does not affect the bending of the shin, only the twisting.

The bones on the right IK leg layer are analogous.

mhx-320-toe-ball-heel

The IK leg has an reverse foot setup, which allows the foot to rotate around the toe, ball, and heel.

  • foot.ik.L: Rotate around heel.
  • toe.rev.L: Rotate around toe tip.
  • foot.rev.L: Rotate around ball.

FK-IK Snapping

In a rig with both FK and IK, it is useful to be able to switch between the two seamlessly. To this end, the MHX FK/IK Switch panel contains buttons to snap the IK to FK and vice versa, in such a way that the character’s pose remains unchanged.

mhx-410-fk-ik-snap

To snap the IK bones to the FK pose, press the buttons

  • Snap L IK Arm
  • Snap R IK Arm
  • Snap L IK Leg
  • Snap R IK Leg

respectively. Note that the FK buttons at the top of the panel change to IK.

mhx-420-ik-fn-snap

To snap the FK bones to the IK pose, press the buttons

  • Snap L FK Arm
  • Snap R FK Arm
  • Snap L FK Leg
  • Snap R FK Leg

respectively. Note that the IK buttons at the top of the panel change to FK.

The Tweak layer

This layer contains some rarely used bone that in some cases are useful to tweak a pose.

mhx-430-tweak

  • breast.L: Controls rotation of left breast. Useful mainly for female characters.
  • arm.socket.L: The left arm socket. Allows the left upper arm (FK and IK) to be moved away from the deltoid bone.
  • leg.socket.L: The left leg socket. Allows the left thigh (FK and IK) to be moved away from the hip.

The right-side bones (with suffix .R) are defined analogously.

The Tweak layer also contains marker bones. They are used by MakeWalk to determine the location of the toe, ball and heel, so they can be moved up above floor level. Move these bones in Edit mode to fine-tune their locatation. The marker bones on the left side are:

mhx-440-markers

  • toe.marker.L: Left toe marker.
  • ball.marker.L: Left ball marker.
  • heel.marker.L: Left heel marker.

The marker bones on the right side are analogous.

The MHX Control Panel

The default behaviour of the MHX rig can be modified by changing some properties in this panel.

mhx-510-gaze

GazeFollowsHead: If 1.0, the gaze bone is parented to the head. If 0.0, the gaze bone remains fixed in space (it is parented to the master bone).
RotationLimits: If 0.0, all Limit Rotation constraint is ignored. If 1.0, they are honored. Default = 0.8.

mhx-520-arm-hinge

ArmHinge, Left and Right: Determines whether the arm rotates when the shoulder does.
FingerControl, Left and Right: Determines whether the finger links are parented by the long fingers (the default), or if the long fingers are to be ignored.

mhx-530-leg-hinge

LegHinge, Left and Right: Determines whether the leg rotates when the hip does.

mhx-540-legik-to-ankle

LegIkToAnkle, Left and Right: If turned on, the reverse foot setup is disabled, and the ankle bones on the Extra layers become the effectors for the IK legs.

12 kommentarer till The MHX rig

  1. al skriver:

    cannot seem to get the same screen as you have here ? also the shapekeys how to get it to work in blender 2.72b ?

    Gilla

  2. thomasmakehuman skriver:

    Just to be clear, you are talking about the mhx2 plugin, and not about the old mhx plugin bundled with MH 1.0.x. Shapekeys were removed from mhx1 export several years ago. A major reason why mhx2 is not bundled with MH is that I wanted to add them back in, which would have been forbidden if mhx2 were part of MH.

    Gilla

  3. Hillie skriver:

    Hello, i have a problem..i have blender 2.7 and have all put in…but when i will load a mhx2 i will not found..i have this not on my screen. Can i the bones with second life bones make too? or i must the another bones make. Thank you and Merry Christmas

    Gilla

    • thomasmakehuman skriver:

      Not sure if I understand what you are asking. To get the mhx rig, you need to select the following when importing into Blender:
      Override Exported Data = checked
      Add Rig = checked
      Rig type = MHX

      If you set rig type to Second_life you get a pure FK rig with bones compatible with SL. You need to change the rest pose to T-pose before sending it to SL, though.

      Gilla

  4. Hillie skriver:

    Yes, its go yet, i have found, thank you Merry Christmas

    Gilla

  5. William Hamilton skriver:

    Hello,

    Just fired up the MHX2 and it’s working great! Just FYI I had to override the defaults to get the settings I wanted (mhx rig). The work that has been put in here is amazing, the rig is very easy to use. I wonder why you are using facial shapes however. I prefer the facial bones method as I hope the work I am doing now can be ported to a game engine, and dealing with shapes is more difficult in that aspect. Sadly the bones in makehuman facial rig are basically useless (IE only 1 deforming bone controls the eyebrow).

    Gilla

  6. Stephen skriver:

    I am confused by the rotation limits:

    ”RotationLimits: If 0.0, all Limit Rotation constraint is ignored. If 1.0, they are honored.
    Default = 0.8.”

    Where is this number entered? I do not see a field with a default value of .8, nor do I see a field where such a rotation limit number would be entered to specify the degree to which a rotation limit is honored.

    Gilla

    • thomasmakehuman skriver:

      This indeed seems to be a bug. There is a property called RotationLimits under the MHX Control panel, but it is a boolean property and it does not drive the influence of the Limit Rotation constraints. I will fix that some day.

      Gilla

    • thomasmakehuman skriver:

      This bug should now be fixed in the unstable version.

      In the import panel, there is a boolean property called Rotation Limits, but it is only visible when you use the MHX rig because it only makes sense then. This lets you load the character with or without limit constraints. Moreover, the RotationLimits property in the MHX Control panel works as in the docs – it controls the influence of all Limit Rotation constraints.

      Gilla

  7. BlenderPete skriver:

    Hi there,
    unfortunately I can not find the mhx2 addon in the userpreferences of blender. I’ve copied the whole mhx2-folder in the right addon-folder of blender, but there’s no way to find it.
    I’m using blender 2.76 in installed and portable version.
    Can you please help.
    BlenderPete

    Gilla

  8. Fred skriver:

    Hi Thomas,
    At first, I want to thank you for this great (!!!) addon, soooo usefull and handy !
    I’m new at animation in Blender, and I have a particular question about visemes in mhx2 : is it possible to record them as keyframes (or any other way), in order to make a ”manual” lipsync ? I’ve tried moho files through Papagayo but it doesn’t really does the job with french, and the variety of visemes proposed in your mhx2 allows more precise animation. But, keyframing one position of the face shapes litteraly locks them in that position, and I can’t figure out a way to record a viseme at frame 1, then another one at frame 10, etc… So, is it possible to do that with mhx2, and how to proceed ? Web searching didn’t bring me any further… Thanks for tips !
    Fred

    Gilla

Lämna en kommentar