importing body morphs causes simple IK bones to become "noodley"

Issue #560 closed
Luke Graybill created an issue

Maybe I’m doing something wrong, but I’m pretty sure this didn’t happen in older versions of the addon. I’m able to reproduce this reliably using commit cdf2fe7 (latest as of the time of opening this issue) in all current “latest” versions of Blender (2.93.0, 2.93.1 candidate, and 3.0.0 alpha.)

Importing all the other morph types works fine with the simple IK, except for the body morphs. If the body morphs are imported, then adding simple IK controls results in something like the following when moving the IK control bones:

Note that this does not happen if body morphs are skipped, and then simple IK controls are added.

Comments (8)

  1. Rose Odimm

    Well actually it happen in blender 2.92 too when I’m doing this
    1.Add body morph to model.

    2.Make all bone posable [for me this is step that produce noodel issue.]

    3.Add simple IK.

    BTW the “Hand Fist” in body morph doesn’t work at all [1.import model>add body morph>hand fist doesn’t work all other morph work fine]

    *I use blender 2.92

  2. Thomas Larsson repo owner

    Unfortunately, this is unavoidable. Simple IK is added directly to the DAZ armature. Body morphs add drivers to the same bones which override the IK chain. Making the bones poseable doesn’t work either, because that breaks up the IK chains. So simple IK is incompatible with body morphs.

  3. Thomas Larsson repo owner

    Two things have been changed to ensure that this problem does not arise again.

    1. If the rig has simple ik, it is not possible to add body morphs.
    2. If you add simple ik to a rig with body morphs, drivers are removed from the arms and legs. Drivers are not removed from all bones, because some body morphs can still be useful and to interact with simple ik, like the hand morphs.

  4. Rose Odimm

    Thank you for update but if I understand correctly it seem like that update will killing my work flow but if you intend to update to prevent the noodle bug I will try to find new work flow.

    *Normally I use import body morph[only hand] + make all bone posable + simple IK
    -This method allow you to use body morph like hand grasp, hand chop and other finger morph then you have a ability to animate every finger to tweak the pose because the benefit of “make all bone posable” and as bonus the simple ik work fine without noodel.

    *In my opinion the hand section in body morph is essential then other body part because when you animate the other bone is one click done but if you want to animate hand gesture or finger you need to click a ton of bone even if you make a custom bone group it still take more than 5 click to do it.

  5. Thomas Larsson repo owner

    Now it is possible to add body morphs to a rig with simple ik again, but drivers are not created for bones in the ik chain. So now you can do it in either order:

    *Import body morph + simple IK

    *Simple IK + Import body morphs

    What will not work is something similar to your workflow:

    Import body morph (arms or legs) + make all bones poseable + simple IK.

    because extra bones are inserted into the arms and legs to make them poseable. A warning has been added to the Simple IK tooltip about this. However, if you stay only load body morphs for the hands, and stay away from arms and legs, things should still work.

  6. Thomas Larsson repo owner

    Because a body morph puts drivers on the bone rotations. You cannot both drive a bone and pose it, neither in the viewport nor from a script. You can do it with two bones, though; a driven bone on a hidden layer and a freely moveable child bone. The Make All Bones Poseable button does exactly that.

  7. Log in to comment