I am modeling and rigging an old-fashioned Bionicle action figure and have so far finished two basic limbs. But I am having problems with the piston-jack-like components of each one (see attached images).
I am using the Track To constraint to make the two bones that control the two “piston” pieces face each other. The top “skinny” piece is lagging in its tracking: it only tracks to the previous “frame” position of the bottom “fat” piece. As a result, jerky movements during grabbing/rotating of relevant bones (such as “IK_lever”) in pose mode as well as animation playback reveal that the “piston_skinnies” bone is not tracking to the current position of the “piston_fats” bone. (see attached .blend file)
The attached images show me first moving the “IK_lever” bone (not visible) so that the arm is contracted (piston_render_contracted.jpg) and then instantly snapping it down to a resting position (piston_render_resting.jpg). The skinny piece of the jack/piston is still pointing to the previous position (not precisely in these images, but that is what it really does). Editing the pose or armature in any way causes that bone to then correct itself instantly and properly track to the fat piece of the jack.
Is this caused because blender evaluates the Track To constraint in “piston_skinnies” bone before evaluating the movement of the bone, “segment_low”, or is there something I can fix? I have included a .blend file of the armature for anyone to experiment with. The bone in question is called “piston_skinnies” and is tracking to “piston_fats”. Although “piston_fats” is respectively tracking to “piston_skinnies”, it does not have any problems. Why?
piston_rig_problem.blend (147 KB)