IK chains not working
LITTLEFisky
Posts: 25
I created a scene. Placed a figure (legacy rig). animated it to perform a sit-ups. I placed a second figure on first's legs and created IK chain for it, and parented IK target to first figure's thighs. But when first figure moves - the second one's arms are not moving. Is IK system broken, or I am doing something wrong? In Carrara this method works just fine.
I can't attach the video here, so I uploaded it to MEGA: https://mega.nz/file/CoYRzBJQ#pT5iQgyTkg_eCj6vuGU0DlCaCgCkNle75bkP4dQMguA
Comments
See my signature for the IK discussion, it is explained how to do such things.
I tried parenting IK target to the null. No result
Sorry I'm not in the mood to do IK tests in daz studio, since I mostly use blender now. If the above doesn't work then it either means daz studio is broken, or you missed something.
You are creating IKs BEFORE animating one of the figures, and it works on my side. But I'm trying to create IK for the figure that was loaded AFTER animating the first one. The second figure's hand starts following first's leg if I enable "Disable Local Transform" and "Ignore Local Transform" buttons in IK target's parameters.
I did some tests with 4.21 and I can confirm that, to allow a ik goal to follow a parented pre-animated null, it is necessary to "ignore local transforms". No idea why. If you first parent the ik goal then animate the null then it works fine. I noticed that, for a pre-animated null, the timeline bakes the ik goal, while this doesn't happen when we first parent then animate. Baking a ik goal is a bad idea and not necessary by definition, that is, that's what ik goals are for, so we don't need to bake. So I suppose there's some confusion in the daz ik system.
p.s. On a second though, I might understand what's happening. As noted in the ik discussion, the daz ik solver ignores channels which are animated, this allows us to animate some channels while living the rest to the ik. So I suppose parenting a goal to an animated object effectivley disables ik, unless we "ignore local trasforms" so the ik solver can "overwrite" the animation. In some way this is not necessary when we first parent then animate. In other packages as blender, an animated channel is added to ik rather than ignored, and that's how it usually works and how ik is supposed to behave.