I've been attempting to rig a telescopic piston, but having some problems getting it to fully work as I want.
How I rig a regular piston:
Two bones for each end, Ctrl bone for controlling location and the aim bone for rotation, aiming at the opposite Ctrl bone. Aim is parented to Ctrl, kept offset. Pretty straight forward and works nicely.
Simple synchronized telescopic piston:
This is essentially a copy of the previous version, only with the mid section added. It is using two copy location constraints to keep it in the middle of the top and bot bones. And a damped track constraint to keep it aligned correctly.
Video of it here Now this method works and it's easy to add more sections to it by just duplicating the middle bone and tweaking the second copy location constraint.
But I would like to make a "regular" hydraulic telescope piston, with the different segments being pulled out one by one.
Some attempts:
First attempt, the Center bone is using a damped track to keep it pointing in the right direction and a limit distance constraint to make the top part "pull" it out. It sort of works, but only when moving along one axis, drags behind as soon as the top is moved of axis.
Random manual attempt just to think a bit. One is just animating the objects the other is manually animating the position of the middle part.
Another attempt using the limit distance method. It's a lot of overlapping bones so not the easiest to see. In motion here
This one also works along the Z-axis, but falls apart when going any other way.
- Bone Section_03_Dist is parented to Section_03.
- Section_03 has distance limited from the top bone(forgot to rename here, bone is named 03 here).
- Section_02 has distance limited to Section_03_Dist, and Section_01 has its distance limited to Section_02_Dist.
Not sure if this is the best way to go about it, but it almost works and its somewhat oddly satisfying draging the chain around. I just cant figure out how to get them to remain in the correct location when moving away from the Z-axis.