In this Blender 2.5 video tutorial we relook at an old topic, showing how to rig a piston for automatic deformation that follows the mechanical arm.
This tutorial covers everything from the initial armature creation to setting up the constraints and assigning the vertex groups.
Checkout the old tutorial here: http://www.blendercookie.com/2009/09/21/rigging-a-piston/











Wow this will be cool thanks a lot mate
thx Jonathan
Great stuff, will be useful soon but more on that later
Planning on a Part II showing how best to apply the rig to the piston hoses?
another win for blender cookie. great job jonathon.
To quote Bill and Ted: “Excellent!”
I’m looking to get into some more complex rigging in the very near future, so all this information will be invaluable.
Thank you Jonathan!
I noticed the construction site theme lately. Actually would probably be a good project to make a construction site because I think it would be made up of a lot of fairly simple objects and fun to texture.
Looks good!
Wish you had included the full model to the citizen zip to go on with rigging and animating the rest of the machine. Maybe finally moving around a concrete barrier
My son would have bee glad aswell. ty&cu
The full model was a xmas gift of the site a few years back, I’m sure you’ll find it if you look around
Just look for it on your free (*hint hint*) time!
Thank you so much Jonathan, that was fantastic! Great tutorial, a little more complicated than I thought, but whatever works.
I’ve seen so many human armatures made I never thought a mech rig could get so sophisticated. Great job explaining,THANKS !!!
If, by chance, you had a texture for the rods of the pistons that you didn’t want stretched, could you simply add a edge loop closer to the end where it’s hidden by the cylinder? Then you would add up to that edge loop to the bones, so the stretch would be completely contained within the cylinder?
If so, could you add a quick tool tip video displaying it in action for us?
You just need to make sure that the pistons don’t come apart from exceeding lengths, the rig will work fine that Jonathan has used, just assign the weight groups appropriately.
Hey Johnathan, I was wondering, what screen capture program do you use?
I use Camtasia from http://techsmith.com
-Jonathan
Cool. that’s the same one i used for a long time.
Thanks for another great tutorial Jonathan, I few more bones that I would use, but I’m a minimalist ha ha.
I did notice an issue with the piston.02, didn’t catch the mistake as to what went wrong, but the whole piston seems to be getting stretched, not just the piston rod.
GREAT TUTORIAL !
I waited for something like this for a while now…
Very appreciated
Nice alternative!
The piston for the arm.02 seems to be stretching, is it, or is it just an illusion?
I may have forgotten to disable “Inherit Scale” on the piston.02_tip and piston.02_base bones. That is what would cause the stretching.
-Jonathan
“Inherit Scale” is indeed the issue, not that it detracts from the quality of the tutorial. In fact, I think it adds to it: a very nice demonstration of what happens if “Inherit Scale” is forgotten.
Hey, it’s the 2009 Christmas present!
Yes it is!
-Jonathan
Nice work Jonathan. I was concerned when you called it a backhoe..glad you corrected that and called it an excavator. Talked to my engineering buddies at Caterpillar..they saw the video..they didn’t laugh at your “hinge” problem….in fact..I think they had a little hinge envy over your rig.
Keep up the great work. Can’t wait to get your book.
Thanks for the tutorial, one thing I’ve wanted to get a grip on for a while is splitting rigs into control and deformation bones so this is a good prod in the right direction for me.
A query: you’re setting up explicit bones for the pistons, which surprised me since when I’ve played with piston setups before I’ve used constraints alone to get them to work properly. It seemed quite a bit simpler. Is there an advantage one way or the other, or is it just one of those ‘multiple ways of doing stuff’ things?
Using bones allows the entire arm, pistons and all, to be one mesh. Using just constraints requires the parts to be separate objects (I’ve done a few that way).
I guess using constraints gives simplicity to creation, but using bones allows the whole model to be just two objects (the mesh and the armature) allowing for easier importing into other projects, though groups might help with the constraints approach.
Very nice tutorial:D You mentioned that it would not be very hard to make the piston slide rather than stretching. Now, i’m just curious, how would you do that instead?
coolcool very useful trick to know…
yeah to make the piston slide I would probably just assign the whole slider thingy to the tip bone and then give it a track to constraint with the base bone as the target.
Cool tutorial and very useful. How did you get the armature bones to render?
I modeled them
-Jonathan
Thoroughly enjoyed this. The stretching cylinder bugged me too. I’m surprised you didn’t catch that!
The linkage trapezoid intrigued me. Is there any way to place constraints on endpoints and bone length? That way you could make any linkage system animate properly, it seems.
Thanks, and keep up the good work. Looking forward to Female modeling part 5.
Hey Jonathan, what’s going on, why have you been posting the first ate videos, were is all they other guys, like Wes Burke and David Ward ! ??
-Philip
No worries, some of the other guys will be back soon! I just happen to be the only tutorial author that is fulltime CG Cookie.
-Jonathan
Why making a bone rig?
Is making a keyframe not easier.
I have made this a long time ago.
http://vimeo.com/4039695
I see Svcam04 asked the same question and taniwha gave a good answer.
Thank you.
I don’t have a lot of experience in bones, so this will really help.
What’s the difference (in bones) between parented and connected? If it’s connected, is it not parented?
can u do a tut on ho to rig tank tracks.
hallo Jonathan!
first of all: all your Vdeos are absoltuly amazing, usefull, ahhm… sofisticated (my english isn’t the best) … great!
thank you for that! …
but what im wondering about (and trying to solve since hours^^) is how you display all the keyboard strokes and mouse klicks … is it Camtasia doing? or Blender itself?
I’ve found OSD hotkey but it works with only one line in it’s own window…(not usefull @ fullscreen)
maybe you can help as wonderful as you are doing at blender
peace
It’s the screencast addon. http://wiki.blender.org/index.php/Extensions:2.5/Py/Scripts/3D_interaction/Screencast_Key_Status_Tool
Jonathon,
Enjoy all the blender tutorials. thanks.
How would you a telescoping part NOT controlled by another part. That is one that you need to directly control the telescoping part (and then the children of it as well)
here’s an example:
http://www.co.collin.tx.us/public_works/images/excavator_l.jpg
The smaller section telescopes out from the larger section, but the section must stay in line with its parent.
thanks for any suggestions.
Take care,
rp
OK, I figured out how to do this. It works with a disconnected bone, and limiting the transform to a single axis.
Works nicely.
Take care,
rp.
Hi Jonathan! I followed your rigging tutorial, and it was very usefull, I learned a lot. But I have an annoying problem, what I don’t know how to solve.
When I rotate the bone called arm.02 around the (global) y-axis: between 0 and 30 degree everything is ok, but over the 30, the bone bucket.hinge.03 suddenly do a 180 rotation.
What could cause this problem?
Sorry for my bad English. Thank you.
Hey, i ddint knoew where to go but i tough this woud be the best place to ask, soo here it goes
Id like to like kinda do a lilte movie with blender, obviously a 3d animation but i cant seem to, like, when i get some 3d models, theyre like super big, id rly need some helP!
Thanks so much for this tutorial, helped a lot!!
very nice!
Hi!
Thx for the great tutorial. I am currently trying to rig a similar hydraulic setup and your ideas on the piston alignment really helped.
Now here is my problem:
The rack and pinion setup for the bucket on “real” excavators uses different lengths. The idea is to make the bucket go all the way around (for people interested in technical details^^). The trick with copying the angular movement for the lever atached to the piston won’t work there. Has anyone encountered and solved a problem like that? I have been playing with inverse kinematic solving, but iit never quite worked out
Regards,
kai
Yeah, I dunno. I paid nothing for this tutorial! So, thank you.. but I would suggest, just trying to be constructive, that you edit your mistakes out of the final video and take a deep breath before moving on. I’m a little dumb, so maybe others didn’t have this problem, but when you got to apply the mesh you started moving waaaay too fast right after you fixed the problem with your old vertex groups.
Esp. where you started explaining the bone/weight mode/pose yada yada. I’ve been sitting here rewinding and playing over and over.. my ignorance is surely to blame, but that whole section is jumbled by you fixing your mistakes, teaching a trick, and moving on with the work.
I still have not managed to replicate what you’ve done there.. but I will keep at it.
Otherwise, very nice tutorial, thanks.
Hi I have been using your tutorial to try and make a working suit of armor. What I did was
Hi I have been using your tutorial to try and make a working suit of armor. What I did was use a human from makehuman and then add on to the already existing bones from the makehuman character. For some reason when I set parent to Armature deform with empty groups it only transfers makehuman bones and not the bones I added to it. Can anyone tell me why this is happening and how I can fix it.
You need to make sure ‘deform’ is checked on each bone and the bones are all under the same armature.
-Alex
Thank you so much. It really helped.
hey Johnathan i loved the tut but i am really new at this and i am having a problem making the hinge work right and it looks like the model that i have and the one on the video are different and i am having truble fixing it could you drop me just the bucket and hinge set up and i should be able to get it to arm 2 thanks matt.