the mhx ik chains for the legs seem unstable

Issue #421 resolved
Alessandro Padovani created an issue

I never used mhx before but now that there’s the easy option I’m going to test the main features. I see that the ik chains for the legs tend to flip. While the ik chains for the arms don’t. Now in animation flipping is something to be avoided at all costs. At least in my own simple rigs I try to. So I’m wondering if the legs ik could be designed the same as the arms ik, that seem to work fine.

Specifically I see that the pole targets for the legs follow the feet and I guess this may cause the instability. Since pole targets are supposed to be fixed to be a reference, if the pole target moves with the ik chain it is no more a reference.

Comments (10)

  1. Alessandro Padovani reporter

    Also I see that the hands are “pinned” to the ik goals, while the feet are not. In my experience having both arms and legs pinned to the ik goals is good for animation, because this way we are sure that they don’t move if we don’t want to. Otherwise unwanted movements may happen when we pose the rest of the body.

  2. Alessandro Padovani reporter

    As a minor side note, mhx is supposed to be used for ik animation, otherwise we could stay with the daz rig for fk animation and mocaps. So may be we could get better default options, with ik enabled for arms and legs, and the gaze enabled and following the head. This way the user gets the ik rig ready to go with the default options.

  3. Thomas Larsson repo owner

    Most issues should be fixed now.

    1. The knee pole targets are parented to the thigh parents rather that to the feet. So they stay in place when you move the feet, but move when the hip is moving. I was worried that this would break FK-IK switching, but apparently it doesn’t.
    2. The foot deform bones were connected to the shins. They are not anymore, and the feet stay in place like the hands do.
    3. The MHX rig now starts out in IK mode. I’m not sure that everyone wants that, but rigify does so so probably most people want that, and anyway it is easy to switch. The mhx rig does have an advantage over daz even for FK: left-right is indicated by a suffix rather than a prefix, so Blender’s paste flipped tool works.

  4. Alessandro Padovani reporter

    As for commit 6178783 that’s better, but the legs tend to flip when we just move the hip backward. This also happens for the arms when we move the hip forward, though it’s less visible. Again in my opinion this may be due to the poles being parented to the ik chain, that’s not good because ik references as poles and goals must be free from the ik chain.

    edit. And the mhx suffixes compatible with blender is a great feature for sure.

    edit. Below I parented the poles to the master bone, so they are outside the ik chain, and everything seems to work fine, once the poles are outside the movement area, as they should to be a reference. If the poles are inside the movement area then flipping may happen to follow the poles, but this is expected and it’s how the poles work.

  5. Alessandro Padovani reporter

    As another minor side note, personally I don’t like the “stretching bones” for the poles. I understand this way it is clear where the pole belongs to and that’s good. But aesthetically they’re horrible. The poles color already indicates left and right, and arms or legs, so this could be enough. Or eventually we could change the pole shape instead, as cubes for legs and pyramids for arms.

    Also an option to change the rig colors to personal taste would be nice. An animator has to work many hours with a rig and the more he likes it the more the work is pleasant. For example personally I’d choose red and yellow for the right side, as it is now, but blue and green for the left side, instead of brown. So to have warm and cold colors for right and left. Of course it is possible to change the colors in blender but this has to be done for every single bone.

    Again these are very minor and may be very personal notes.

  6. Alessandro Padovani reporter

    One way to make the pole bones nice looking, is to switch the armature to wire instead of stick. But then the extra face bones will need some shape to make them visible. Not that sticks are particularly pleasant.

    Also, if it can be useful, one trick that I use often is to use empties instead of geometries for the bone shape. There are various shapes we can choose from and they cost nothing.

  7. Alessandro Padovani reporter

    Also ik > fk snapping seems to not always work fine. I don’t know if this is expected since I have no experience myself with “snapping” rigs. Below an example where the right leg is twisted by the snapping tool, thus producing bad deformations.

    steps:

    1. import G8F and convert to mhx
    2. switch to fk and import the kneeling b pose
    3. snap ik to fk

  8. Thomas Larsson repo owner

    I think that most of your suggestions are implemented in the latest commits.

    As for snapping, I think that it is hard to get FK => IK right. IK => FK should work perfectly, unless rotation limits interfere, but you can turn those off the the pose panel. However, to go in the other direction, some information is missing. The FK leg specifies the rotation of the thigh and shin bones, that is a total of six Euler angels. In the IK leg, the IK effector specifies the location of the ankle, and the pole target specifies the knee location. But that does not say anything about the twists of neither the thigh nor the shin. When I tried the shins did actually have the same twist, but the FK and IK thighs had slightly different Y rotations.

  9. Alessandro Padovani reporter

    Commit 135b42a is a nice improvement in my opinion. The ik flipping is gone, and the wire rig with face shapes is more elegant. Then the user colors are just a touch of finesse that I’m sure will be appreciated.

    Marking as resolved.

  10. Log in to comment