Rigging piston problem


I made a robot leg for rigging test for the piston attached to theleg.
I used simply LockedTrack for making piston move along the leg movement.
When I move IK leg from pose mode, it works just like I expected but, when I play animation or render animation,
somehow the piston sticks out like the picture.



It doesn’t happen in pose mode. I guess there is a precision setting of bone or Track to constraint somewhere and I don’t know? if you knew the reason of this issue, please tell me what is the problem.I attached the blend file.

Thank you in advance
robotleg-160630.blend (1.72 MB)

It’s cyclic dependency. Gotta track to bones that don’t track back. Take a look at this…

Attachments

robotleg-160630-fix.blend (1.73 MB)

Wow It fixed! Thank you very much! So I should have made another bone only for TrackTo target.

It’s kind of counter intuitive. The bone tracks toward the head of the other bone, and the head of the other bone doesn’t move… but if the other bone tracks back toward the current bone, any movement creates a loop where, that one moved, gotta recalculate, and I recalculated, now he has to recalculate, so I have to recalculate, so he has to… And ultimately the calculation is off.

The only trick is, track toward something that doesn’t track back.

Making a copy of the bone, and removing it’s track to constraint, is usually the simplest fix.

Why don’t you use a Stretch To constraint with a bone at each end, that does not inherit scale, to hold each end of the piston/cylinder? It’s much easier to build and never goes wrong. Track To’s are not really meant for this type of rig IMHO.

Cheers, Clock.

EDIT:

There’s loads of options in this blend file for you to play with. You can see how complicated Track To constraints are in comparison with Stretch To versions. :eyebrowlift: You can do it with IK constraint as well, but they are not as easy as Stretch To cons.

cylinder-problem-ver3.blend (1.84 MB)

Thank you very much! I didn’t hava an idea to use Stretch To constraint for it. And thank you for the file too! It helps me a lot!