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/

You must be logged in to upload images. Register

Discussion

52 Responses to “Rigging a Piston in Blender 2.5”
  1. Nick Dart
    Posts: 15

    Wow this will be cool thanks a lot mate

    #
    1
    Jun 20, 2011 at 12:06 pm
  2. Posts: 136

    thx Jonathan

    #
    2
    Jun 20, 2011 at 12:15 pm
  3. Posts: 46

    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?

    #
    3
    Jun 20, 2011 at 1:29 pm
  4. michael stevens
    Posts: 3

    another win for blender cookie. great job jonathon.

    #
    4
    Jun 20, 2011 at 1:32 pm
  5. Posts: 59

    To quote Bill and Ted: “Excellent!” :D

    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! :)

    #
    5
    Jun 20, 2011 at 1:51 pm
  6. Posts: 256

    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.

    #
    6
    Jun 20, 2011 at 2:47 pm
    • Posts: 5

      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

      #
      6.1
      Jun 20, 2011 at 3:21 pm
      • Posts: 46

        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!

        #
        6.1.1
        Jun 20, 2011 at 3:35 pm
  7. Craig Hellman
    Posts: 17

    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 !!!

    #
    7
    Jun 20, 2011 at 4:01 pm
  8. Posts: 15

    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?

    #
    8
    Jun 20, 2011 at 4:59 pm
    • Posts: 40

      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.

      #
      8.1
      Jun 20, 2011 at 7:25 pm
  9. Posts: 1

    Hey Johnathan, I was wondering, what screen capture program do you use?

    #
    9
    Jun 20, 2011 at 7:06 pm
  10. Posts: 40

    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.

    #
    10
    Jun 20, 2011 at 7:28 pm
  11. Posts: 6

    GREAT TUTORIAL !

    I waited for something like this for a while now…

    Very appreciated :)

    #
    11
    Jun 21, 2011 at 1:46 am
  12. Posts: 234

    Nice alternative!

    #
    12
    Jun 21, 2011 at 7:01 am
  13. Posts: 4

    The piston for the arm.02 seems to be stretching, is it, or is it just an illusion?

    #
    13
    Jun 21, 2011 at 7:31 am
    • Posts: 2952

      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

      #
      13.1
      Jun 21, 2011 at 8:59 am
      • Posts: 8

        “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.

        #
        13.1.1
        Jun 23, 2011 at 4:06 am
  14. AE
    Posts: 55

    Hey, it’s the 2009 Christmas present!

    #
    14
    Jun 21, 2011 at 10:13 am
  15. Svcam04
    Posts: 21

    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.

    #
    15
    Jun 21, 2011 at 9:54 pm
  16. 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?

    #
    16
    Jun 22, 2011 at 5:48 pm
    • Posts: 8

      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.

      #
      16.1
      Jun 23, 2011 at 4:11 am
  17. Posts: 18

    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?

    #
    17
    Jun 23, 2011 at 12:34 am
  18. Posts: 13

    coolcool very useful trick to know…

    #
    18
    Jun 23, 2011 at 11:05 am
  19. Posts: 13

    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.

    #
    19
    Jun 23, 2011 at 11:07 am
  20. Posts: 28

    Cool tutorial and very useful. How did you get the armature bones to render?

    #
    20
    Jun 23, 2011 at 4:27 pm
  21. Warren
    Posts: 4

    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.

    #
    21
    Jun 25, 2011 at 9:52 pm
  22. Posts: 11

    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

    #
    22
    Jun 28, 2011 at 10:34 am
    • Posts: 2952

      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

      #
      22.1
      Jun 28, 2011 at 12:52 pm
  23. anton
    Posts: 13

    Why making a bone rig?
    Is making a keyframe not easier.

    I have made this a long time ago.
    http://vimeo.com/4039695

    #
    23
    Jun 29, 2011 at 8:29 am
  24. anton
    Posts: 13

    I see Svcam04 asked the same question and taniwha gave a good answer.

    #
    24
    Jun 29, 2011 at 9:32 am
  25. Gary Parkin
    Posts: 109

    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?

    #
    25
    Jun 30, 2011 at 11:24 am
  26. axel
    Posts: 11

    can u do a tut on ho to rig tank tracks.

    #
    26
    Jul 3, 2011 at 8:51 am
  27. 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

    #
    27
    Sep 9, 2011 at 5:49 am
  28. Posts: 2

    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

    #
    28
    Nov 3, 2011 at 3:25 pm
    • Posts: 2

      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.

      #
      28.1
      Nov 4, 2011 at 1:53 pm
  29. Posts: 2

    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.

    #
    29
    Dec 19, 2011 at 2:23 pm
  30. Jeremie
    Posts: 2

    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! :(

    #
    30
    Jan 13, 2012 at 8:06 pm
  31. chris93
    Posts: 1

    Thanks so much for this tutorial, helped a lot!!

    #
    31
    Feb 11, 2012 at 11:29 am
  32. Patrick
    Posts: 1

    very nice!

    #
    32
    Apr 27, 2012 at 11:18 am
  33. Kai
    Posts: 1

    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

    #
    33
    May 9, 2012 at 8:00 pm
  34. Luke
    Posts: 1

    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.

    #
    34
    Aug 13, 2012 at 12:06 am
  35. berock212
    Posts: 4

    Hi I have been using your tutorial to try and make a working suit of armor. What I did was

    #
    35
    Jan 8, 2013 at 6:21 pm
  36. berock212
    Posts: 4

    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.

    #
    36
    Jan 8, 2013 at 6:26 pm
    • Posts: 454

      You need to make sure ‘deform’ is checked on each bone and the bones are all under the same armature.
      -Alex

      #
      36.1
      Jan 9, 2013 at 3:40 am
      • berock212
        Posts: 4

        Thank you so much. It really helped.

        #
        36.1.1
        Jan 9, 2013 at 1:59 pm
  37. matt
    Posts: 1

    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.

    #
    37
    Jan 20, 2013 at 12:29 am

Leave a Comment

You must be logged in to post a comment.