After imported Daz pose, there is an issue on mirror action.

Issue #2184 invalid
qwer asdf created an issue

My action:

  1. Easy Import Daz
  2. Make Control RIg
  3. Locks And Limits -> Disable Locks And Limits
  4. Convert To MHX
  5. MHX -> Properties -> IK And Limits -> disable Limits
  6. Posing -> Imoprt Pose
  7. FK/IK Arms Legs → click “Snap IK” on both Arms and Legs
  8. Try to Mirror leg

Then I found the issue in the image (Pose_mirror_wrong.png), but strangely, some of the poses don’t have this problem.

Comments (19)

  1. Alessandro Padovani

    From your picture you are mirroring along the X axis, that’s what is done. What’s wrong ?

  2. qwer asdf reporter

    @Alessandro Padovani

    Apologies if my image caused some misunderstanding. I've uploaded "Pose_mirror_wrong_2.png."

    The issue shown in the image occurs with any mirror action.

    At the same time, I have also uploaded the pose used in the image (Product_Pose.duf).

  3. Alessandro Padovani

    There’s nothing wrong, this is how blender works. The pose mirror is limited to the x axis in pose space, meaning that it is relative to the root bone. In your pose the figure is moved with the hip instead of using the root, thus mirror doesn’t follow.

    Perhaps to better handle daz poses one could have an option for mhx without the root bone, thus the mirror will be relative to the hip. But personally I don’t think this is a good idea as most ik rigs do have a root bone. Let’s say that in blender the pose mirror is of limited use depending how the pose is done, but this is a blender limitation, not a bug in the addon.

  4. Alessandro Padovani

    notes for Thomas.

    optional root for MHX. For the simple ik rig the root bone is optional, thus mirror can work with the hip bone and works better for daz poses. Perhaps you can make the root optional for MHX too. Let us know.

    LR for simple IK. The simple IK rig doesn’t use the LR convention for mirror, though we can “change prefix to suffix“ in advanced setup which works fine, also to load daz poses. So you may want to change prefix to suffix as default for the simple IK rig. Let us know.

  5. qwer asdf reporter

    Uh... I'm not sure how to describe this issue, but you can try copying the pose of the left hand to the right hand in the scene, and you'll understand (Ctrl + C and Ctrl + Shift + V).

  6. Thomas Larsson repo owner

    I don’t think pose mirror works very well with ik bones. If I snap all bones to FK, mirror, and snap back to IK, the pose is fine. Mirroring the left IK hand does work correctly, in that the right IK hand location and rotation is the mirror of the left, but since the hip is mirror this is not useful.

    To the left is the left and right ik hands before mirroring, and to the right is the right ik hand afterwards. Eliminating the root does not help. What would work in this case is if we make the IK goals children of the hip bone, but we certainly don’t want that. Mirroring the FK bones works because all FK bones are descendants of the hip.

  7. Alessandro Padovani

    Thomas, you are right. I was confused because usually the pose space is the top bone of the armature hierarchy, aka the root. But without a root the ik goals are parented to none thus their pose space is the object, not the hip.

    Then I don’t think there’s a way to fix this. It’s just the way blender works and the pose mirror may be useful or not depending how the pose is done. If we want the pose mirror to work then we have to pay attention how we pose the root, or the object if we don’t use the root, which will be the x axis for the mirror.

    If there’s nothing to add we can close as invalid, as this is a blender limitation not a bug with the addon.

  8. Alessandro Padovani

    p.s. Of course one way to fix this is to rotate the bones to align the root x axis, then counter rotate the root. But this has to be done manually to fix the daz pose.

    p.p.s. Note that this can’t work if we use the “master bone“ option to import the pose, as in this case we can’t counter rotate the root.

    steps (with mhx):

    1. import the pose, without “master bone“ option
    2. snap ik all
    3. select all bones but the root
    4. rotate in global coordinates to align the root x axis
    5. select the root and counter rotate to get the original position
    6. now the pose mirror works fine

  9. Alessandro Padovani

    possible fix. @Thomas, if we don’t use the “master bone” option, by following the steps above it may be possible to automatically align the root with the hip x axis, thus the pose mirror will work fine. This means adding a option to import pose. Let us know.

    import pose option (can’t work with “master bone”):

    • align root with hip: align the root x axis with the hip x axis, so the pose mirror works fine

  10. qwer asdf reporter

    Thank you, @Alessandro . Your method can resolve the issue with location mirroring, but the problem with rotational mirroring still persists.

    This issue makes it difficult to use many DAZ poses in Blender.

  11. Thomas Larsson repo owner

    I don’t see what the problem is. If you import a daz pose both arms and legs are set to FK, and mirroring works in that case. Once you snap to IK mirroring does’nt work well if the hip is rotated. That’s how it is.

  12. Alessandro Padovani

    Thomas, the user wants the ik mirror relative to the hip rather than the root, which makes sense to edit the daz poses. An option to make the root follow the hip would fix it. But that can also easily be done by hand as explained above, so if you’re not interested we can close this one.

  13. Thomas Larsson repo owner

    If the root is parented to the hip is the same thing as the ik goals are parented to the hip, and thus move if the hip is moved. This is not what people expect from ik targets. It is simply a fact that pose mirroring does not work well with ik if the hip is not oriented as expected.

  14. Alessandro Padovani

    Of course I’m not talking of parenting the root to the hip and don’t do that in my description above. Anyway I agree this can be closed as it is fixable by hand.

  15. Log in to comment