Hi there!
I’m rigging a character, Mancandy way(more or less), and I’ve stumble with a IK/FK issue related to driven shape keys corrections on 2.5. This issue is not a problem in 2.49.
Driven shape keys, used to correct join deformation, just works in FK, were the bone shows a rotational value, and are ignored when in IK mode. Blender 2.49 can “see” the rotation of the bones even when constrained, on 2.5 I can’t get the same result.
Now in IK mode, the bone rotations on the transform chanel are shown as zero. The shape keys of the Knees I’ve made them to be activated by “Rotational Difference” and the arms by “transform Channel”. So… the issue now is that “rotation difference” works well for knees and elbows, because… there’s no negative value (they just bend in one direction).
…but for armpits for instance. They rotate in 4 different ways (top,down, front and back), so, as I am noting, “rotational difference” doesn’t takes in acount if the diference is positive or negative, so it always activates all the 4 shape keys for the armpit corrections.
Why does blender doesn’t see the rotations of bones in a IK chain anymore?
Is there different way to use Corrective shape keys on IK chains?
Thanks for the attention!
There is a workaround for this, I did find a very good link but have since lost it. Credit to the chap who worked it out, I’ve just copied them.
Within the variable box in the graph editor under drivers, if you set the variable type as “Single Property” and select the armature you’re using under the “Prop:” box you can then copy the rotation RNA data into the “Path:” box. This is done by selecting the bone of interest in the 3D window, opening up the transform properties (press “N”), and then under the axis/location/whatever right click and from the resulting pop-up menu choose “copy data path”. Then go back to the “Prop:” box in the graph editor and paste the result.
The trick with this (which was explained in the link I now can’t find), is to append an index in parentheses to indicate the axis to be used.
For example, if you have a bone RNA string that is something like this:
pose.bones[“ForeArm_L”].rotation_quaternion
You need to modify this slightly to:
pose.bones[“ForeArm_L”].rotation_quaternion[3]
in order to refer to the Z component of the rotation.
:eek: If it helps!? It completely solved the problem
Thank you very much for taking the time to help me! I was completely lost on this and I’m quite sure I wouldn’t have figure it out by my self :o
Also thanks to the original person that thought this out and shared the solution!
Thanks a bunch!
Thank you for asking this question, Rogper, and thank you Bender007 for answering it! (Oh, and thanks to the original guy who worked it out. ) I imagine it would be difficult to continue with your short film without good deformations. I’m subscribing to this thread.
(Also, thank you to DivineRAiN for pointing me to this thread.)