Posing system similar to the one used in Daz

Hello,

I’m trying to create a posing system similar to that of Daz Studio using an IK armature. For those of you who don’t know how Daz Studio system works, it allows to pin specific bones, having rotation limits on bones, and using IK in order to get more organic poses.

I have done some tests with a simple armature and the auto IK function of Blender with the rotation limits, and, although it works well, it has some limitations:

  • I can’t use pins, although I have found a solution which consists in temporarily disconnecting the bone that I want to be pinned

  • Most importantly, I can’t replicate the function of Daz which allows to have IK working in both ways; with this I mean the following behavior:
    let’s say I have a chain of bones, as in the figure below;

if I select a bone in the center and move it, the auto IK will make the bones before it rotate organically, but all the bones after it will simply inherit its rotation. What I would like to have instead is that I can pin the last bone (the one on the bottom-right) in the chain so that, when I move the bone in the center, both the head of the bone on the bottom-left and the tail of the bone on the bottom-right stay still, while all the bones rotate to adjust for the bone which I manually move.

Do you, guys and girls, know a way to replicate the Daz posing system?

the keyword is “inverse”, it means the child bone impacts parents up the chain not down.
however there could be multiple IK countraints on same bone chain. Placing explicit ik
constraint to end bone may help

auto-ik-plus-ik

Thank you very much roolic!

I have done some tests “pinning” different bones using explicit IK constraint and then moving a bone with auto IK, and this works really well.
Moreover, if I want to block not only the position of the bone, but also its rotation, I can add a “Limit Rotation” constraint to it.

So, here’s the behaviour with auto IK and no additional constraints:

auto_IK_only

And here’s what I have got using auto IK, plus an explicit IK constraint on the forearm.L bone and a Limit Rotation constraint on the hand.L bone in order to pin the hand:

auto_IK_plus_explicit_IK_constraint_plus_limit_rotation_constraint

1 Like

If you click on the object data tab specific to the armature, there already is a pose library. Just select the bones you have positioned, and add a new library set, and then add a new pose set to the library. It also works in some way for actions, if you know how to use the NLA editor. Also keep in mind that if you don’t have bones selected when creating/editing a pose, those positions will not be stored when you press the button.

Here’s a video I found that seems to explain it fairly quickly:

There is an effort of making a new character and rig generator, is called MBlab It would be very interesting that you contact whit us to give DAZ style control over the characters.

If you need any help to set up the “pinning” mechanism, feel free to ask me, I will gladly help you

I’m interested how did you set up the pin. maybe it can be done and undone quickly with a script… undoing it should be just turning off the influence and when the animation is finished it just needs to be baked.

Sorry for the late reply.

I have not worked on this for the last days because the system has some issues and was trying to figure out how to solve them.
The major issue is that, while in Daz the bones connected to the pinned bones remain connected, in Blender, if an IK constraint is used for the pinning, the bone with the IK constraint could be detached from the target bone.

I have uploaded the blend which I have used for the tests; it has been made with Blender 2.79, but it should work with Blender 2.8 too.

ik_pin_blender_2.79.blend (384.5 KB)

well I guess the problem is that the ik target is the hand bone so it can not stay parented to the arm.
now i don’t know too much about scripting (just basics) and ik, but if i’d try to make a pinning system i’d try this:

1, the script looks up the hand and foot bones and make a copy of them
2, it creates an ik constrains on the limbs using the above created bones as targets
3, makes it easy to turn influence on/off for the ik
4, a one button solution to convert IK to FK on the created keyframes

1b as a convenience it could asign a custom shape for the created ik target bones.

Rigify can do this stuff, but the idea is to be able to do simple ik stuff on imported mocaps or simpler rigs without creating a control rig all the time.