Problem When Creating An Ik

Hello,

Here is my scene :

I have a joint chain made of 4 joints. Each of my joints have a rotation value, let's say 1.20;35.26;44.598 for the first joint, 4.65;23.69;54.71 for the second joint ... These values can be everything but 0.

When I create an IK on this chain (SC or RP), the rotation value of some joints changes slighty.
It's not visible in the 3D view, but if I use locators, snapped to the second and third joints, then frozen before creating the IK to turn it's translate values to 0 ... If I snap these locators again to their joint, the locator's translate value turns to something like -0;0;-0.

If the chain is frozen (rotation) before creating the IK, the joints rotation don't change at all. Everything runs fine.

Could someone explain me this issue, and is there a solution to this ?

Thanks a lot.

This depends on preferredAngle set. When You add IK, each joint try to acheive it. Read manual on this topic.

You're right drBlacksnake, but I did so. I make a SetPreferredAngle just before creating the IK.
I forgot to mention this, I'm sorry !

I have to make an AssumePreferredAngle to restore the correct value for the joints rotation. But, afterwards, as soon as I edit something on the IK, like translating it then undo it, the values for the joints rotation are changed a bit.

Thats probably because of ikSolver's output. If You disable IK, and click to assumePreferredAngle, then joint should return to its inital orientation, isn't it?

Yes, AssumePreferredAngle corrects the values. This also works with an enabled IK, if it's not constrained, nor grouped, nor keyed ...

But when I change for exemple the IK blend attribute then, the values turn wrong.

Do you think there's a way to fix that problem ?

Thank you for replying.

hard to say.
can You send me zipped MA of problematic part?

OK, I'll send you the scene. Thank you for your help.