Get X-Particles for $100 Off For the next 48 hours.

How to Make A Hydraulic Arm In Cinema 4D Part 1 119 Comments

If you are using Cinema 4D R14 and up, watch this updated Hydraulic Arm Tutorial instead.

I invited Chris Schmidt to do some more advanced tutorials for Greyscalegorilla. Please welcome him again to the site while he shows you how to Model and Rig a Hydraulic arm in Cinema 4D using Joints, Constraints and other Character Tags.


Watch Part 2

About Chris Schmidt
Chris Schmidt is a self taught Cinema4D user since version 6 in 2001. After teaching C4D for 4 years at Prairie State College and creating a series of tutorials for Maxon on Cineversity, he cofounded Chicago’s C4d user group ChicagoC4d (@ChicagoC4D). With a general obsession of all things C4D especially character rigging, animation, Xpresso and Thinking Particles. Most recently co developed the City Kit with The Gorilla.

Comment Rules

This is a friendly community. Please treat everyone with respect. We don't all have to agree, but we do have to be nice. Criticism is fine, but rude comments and name calling will be deleted. Use your real name and don't be spammy. Thanks for adding to the conversation.


  1. Seen something like this. But this one is outstanding!MOre fun and realistic :)
    Thanks Nick. Will wait tut from you and your buddies

  2. Cool. Just saw a post on MoGraph of someone asking how to rig a hydraulic arm.

    So here’s a curious question. Now that this technique has become a tutorial does this mean it would be taboo to put any sort of a hydraulic arm into your reel?

  3. DaveyVerhoef

    nice tutorial..though my arm is not doing the right thing.. idk what I missed! the elbow is trippin’ on the y axis and if I rotate the control, then my pivots are rotating on the x axis?! if I’m saying that correct..

    • DaveyVerhoef

      aim axis is y+ and the target is the null up1.
      and my up vector is z+, axis y+ and the target joint goil.

      am I missing something?!

      • If you are using R13. You have an extra option in your IK attributes. When you click on the IK Tag. Set the Axis of the Pole Vector to -Y. Everything else should be the same as Chris.

        • CCIDgfx

          I have R14 and I was freaking out for a second, then I remembered your comment from the first time I tried this.
          Thanks =)

    • Well, only just watched it so not having gone through the motions of following along in Cinema I can’t say for sure. I just remembered there was a point when Chris explained his elbow and goal were getting jumpy and showed what axis’s to point and target.

    • I am having a similar problem where my Joint pole is above the arm in the +Y axis but the arm still is pointing in the -Y axis. Is there any way to invert it something?

    • I was having the same issue. I don’t know if this is a proper fix, but if you click on the IK tag and change the Pole Vector’s Axis from Auto to -Y, it seems to fix it. Hopefully someone knows of a better solution though.

    • Ruuter

      I had the same problem
      1st for some reason elbow was pointing down, not up and 2nd, the cylinder in the “1st Stuff”
      was flipping over if you moved the goal too much left or right.
      Luckly, thank you TOM, you saved my day, though turning IK tag Pole axis to -Y almost worked, but made a new kind of weird jumping when passing the 0 point in Z axis.
      So, my solution was to change it to just Y (+Y I assume) and it solved everything =)
      Now all works as it should =) wuhuuu

    • Ruuter

      sry… not Z axis 0 point, but X axis 0 point….
      not that it matters 😀

    • hello, I’m a newbie to C4D and I have the same problem as Tom, but I don’t know what you mean by changing the Pole Vector’s Axis from Auto to -Y :( pls help :)

  4. Chris, those were great. Cheated and watched pt2.

    I don’t really know much about phong so will research that more to understand why you made those changes.

    Nothing wrong with the flow. As this seems to be a little more advanced and you move pretty quick it will probably be harder for some to follow along. I think that’s fine. I often play, pause, play & pause tutorials and slowly work through stuff myself.

    Requests could be,
    – Advanced Material stuff – looks of fruit, chips, electronic devices, things that are often used in broadcast spots

    – Projection Man examples

    – Clever modeling quick tips. Cutting details into editable objects, beveling complicated geometry and fixing the holes or weird ngon shapes created from doing certain bevels, ow to optimize and keep complicated modeling low poly.

    – Thinking Particle stuff maybe?

    – ChimpanSteeze

    • Rayne

      “I don’t really know much about phong so will research that more to understand why you made those changes.”

      Phong (shading) basically just makes the surface of polygonal objects appear rounder and smoother than they actually are. Y’know how when you call up a standard sphere primative – it’s actually faceted, but it appears perfectly smooth and round? Basically, it’s that kind deal. Phong shading is added automatically by default to most plygon surfaces. Sometimes you want it, othertimes – such as when you’re modeling something with hard surfaces (like a hydraulic arm, for example) – you want to reduce the amount of phong shading being applied to the componant surfaces.

      When this is the case, you just click on the phong tag and reduce the angle down until what are suposed to be flat surfaces appear nice and flat, basically.

      Reduce too much and you’ll find the flat surfaces of your regular quads will kind of appear as if composed of two adjacent triangles and will indeed render out that way.

      Too much phong and that same surface will appear slightly too rounded and “smooshy”.

      Generally speaking, for hard surfaces a phong angle of about 16 degree’s is about perfect – tiny tip for Dalek modelers the universe over there when tackling the skirt.


  5. christian kromphardt

    hehe chris Schmidt´s accent somehow reminds me of a character from matrix – great tut by the way

  6. Wesley

    Excelent tutorial. Would be nice to see more rig tutorials.


  7. Wouuuuuhouuuu! And here it is, the last step, character rigging stuff…welcome dude!!

  8. Psyched, I’m working on a project with a giant robot gantry so this is just in time! Glad you’re doing more GSG stuff Chris, your Chicago C4D videos are great too.

    • Andre

      For your nickname i like The Simian.
      The simians (infraorder Simiiformes) are the “higher primates”, closely related to Simmi.
      You do some really great advanced stuff, just thought it would fit.

  9. richard

    Wuahua! I like when tutorials become advanved…thanks for this one!

  10. Man, cool tut. I would love to see how you set up the Sketch & Toon render in your example. Looks like a combo of S&T and AO. There aren’t that many S&T tuts out there, would be cool to see one.

  11. Great tutorial, not too many of these rigging ones about that I’ve managed to follow as clear as I have with this one!!

    Just one question, I may be jumping ahead but I’ve used the rigging for arms on a robot, I’ve modelled and rigged in the same way as the tutorial, but the issue I’m having is moving and rotating it into position on my robot. I tried placing everything in a nill object but it didn’t seem to work?

    Sorry if I’m being a total newbie!

  12. One step closer to my dream of making a human faced teddy bear with robot spider legs. You’re the best.

  13. Jesus

    Hi, does anyone create this project with c4d R12?
    I did but i have problem with the “Constraint”, they doesn’t work properly.
    Here you can download the file and see what is wrong and tell me.

    thanks in advance

    • I had this exact same problem.
      The solution I came up with is when you finish modelling pull all the stuff out of the bones hierarchy then go into the IK tag set the twist property to 180 degrees, now put all the stuff back into the bones hierarchy like it was before. Here is the fixed file

    • Jesus

      If you change the Pole Vector of the IK tag to -Y work better

    • Thomas

      Thanks for the tip, Jesus!

      Have any of you R12-guys had problems with the goal-null not beeing affected by its parent obejct?

      In my case: I’ve put the joint.goal-null as a child of another null; Ctrl-null. When I change the cordinates of Ctrl-null a certain number the joint.goal-null changes oposite, resulting in that the joint.goal absolute positions remains the same as it initially was.

      E.g. I increas the parent coordinate 100mm on Y, the child coordinate changes its Y-value to -100mm.. New challenge on top of it all.. 😛

    • Ruuter

      Jesus said: “If you change the Pole Vector of the IK tag to -Y work better”

      works better, yes
      worked Perfect for me if you change it to just Y no -Y

      with -Y I had some weird jumping, when passing the Z axis 0 point with Goal

    • Ruuter

      oops sry… not Z axis 0 point, but X axis 0 point….
      not that it matters 😀

  14. fasteddie

    Chris, PLEASE if you read this, you sharing your knowledge here…it’s like Christmas for some of us guys….please, please do more tuts here …you are a C4D LEGEND 😀

  15. @ChicagoC4D Hey best nickname I could come up with is Chrispanzee instead of Chimpanzee.. Hope you like it.

  16. Matlock

    Wow that was neat! When you made your character do the robot boogie in pt2 I was in tears of laughter…such things are very amusing to me! Thanks so much Chris the Gibbon??

  17. That was Sketch and Toon with the “object” in the render settings set to “texture” instead of “shading” so that my materials show through underneath the lines.

    • Sander

      Yeah, same problem here, it seems that this problem occurs in R12. User named Jesus suggested a few comments up to change the Pole Vector of the IK tag to -Y instead of Auto, which worked for me.

      Thanks “Jesus”!

    • 2 Sander & Jesus…

      Jesus Christ! =)) Thanks guys. But I used “Y” instead of “-Y” – because if You use “-Y” your elbow rotates down. Anyway – thanks. It works.

      Great tutorial. I thought that to make such hydraulics you should use expresso tag, but…

  18. Keith Aldrich

    Great tutorial Chris. (THE BEST Nick owes you lunch)
    I had the same problem as a lot of people running R12.
    After hours of trying I fixed it by changing the IK Tag PoleVector from Auto to Z. Now everything works beautifully.
    Looking forward to your next tut.

  19. Gonçalo Perdigao

    Hi there i was making an hydraulic arm, and i cant make the bone to rotate in the x axix with out rotating in the z axis, that causes the geomtry to rotate and get out of place.

    Here is the file, can u help to see what i’m doing wrong?

    Thanks a lot

  20. Paddy

    tried twice to do this(from scratch) and always f***ed up at a point when i put in the right object in the target for the two character tags and of course with the right orientation and rotation axis and end up with my arm screwed up like modern art. but i’ll do it a third time, just looks amazing!!!!

  21. Thomas

    Hmm..does anyone have a problem with the joints rotating (banking and pitching with regards to z-axis if standard) ?

    It’s not a real issue, but I just wonder why it decides to rotate aproxx. 0.027 degrees..

    • Kazak

      Yes, I believe it is a real issue. We need an R12 update to this tut. The shoulder joint is banking. In the IK tag if you switch the IK solver to 3D from 2D the results are better but only up to a point.

    • Thomas

      Ok, so it’s not just me messing it up, then :) Good to know. Thanks for the response btw. In my case the shoulder rotated when it was in “null” or default position, and increased more as the “arm” bent. Thanks for the tip!

      Anyhow; the principles and processes Chris goes through for us still applies. Doing some discovering of potential improvements is just another name for learning :)

  22. Jonas

    Brilliant tut but your so d*mn fast that im having an extremely hard time following!

  23. Rodney

    I’m fairly new to C4d and am having problems from the start with this tut. When I copy my joint and move it, it doesn’t form a bone, just an orange line. I know this seems silly, but any help on the matter would be greatly appreciated! I really want to learn to rig!

  24. I want to have the base of the arm offset from center on the rotation base and still have the rotation of the base driven by the IK handle, but I can’t seem to get it to rotate around the base’s pivot point. Any suggestions?

    • Chris Schmidt

      Looks like your up vector is “Z” and your target is “X”. X Needs to target a null off in the X+ direction. Your “Z” up vector need to target the tip of the arm.

      • I don’t know, i think i’m failing somewhere… there how my settings looks ( with these actually nothing happends, rig moving in all directions Cilinder don’t moving at all).

        It’s should be nice if you tell me what i should write up there :)

  25. Hwang

    hi, I think this tutorial is very cooool

    But…it`s so distracted.

    ah, It’s not complaining, hehehehe…^^;;

  26. nathan


    i´m from germany, so i have the german version of cinema 4d r12 and i just can´t find the reset psr button

    • Freddy D


      Ich hatte das gleiche Problem auch..

      In der Deutschen Version heisst es “Koordinaten zurücksetzen”…

      greez Freddy

  27. as stated many times – great tutorial.

    Any chance of doing a part 3 – creating a full robot (with torso and head), & animating the robot doing a basic walk cycle. (soon, as i am really stuck)

    Thanks – look forward to more of your tutorials.

  28. Hey, Can somebody load a file on megaupload without fails?
    Or can somebody sent it me about skype: Skype name:

  29. This is a great tutorial! Also as a newbie I think I’m fortunate that 3DKIWI on C4D Cafe directed me to the two Cactus Dan tutorials mentioned below before I started going through this one. There’s some real foundational stuff I think is required before understanding fully why Chris is approaching the task a certain way.

    The Character tutorial made by Cactus Dan is brilliantly quick and concise on some very foundational, esoteric subjects.
    I am amazed at how elegant his explanations are of IK-FK, Solver Objects and Up-Vectors.

    The same goes for Catcus Dan’s Mechanical Tutorial.
    It explains beautifully how rotations in Cinema 4D favor the Z axis which makes it the perfect targeting axis and is the default direction for the Cinema 4D Cameras, Bones, Joints Targeting Expressions and IK Expressions. Also the same elegant explanation for Absolute Z Targets and General Up-Vector Targets. Additionally he shows why we animate the Up-Vector as a controller for mechanical objects which have fixed axles.

  30. Jmarcus

    A couple of issues doing this in R13.
    When you click add goal and add pole (in that order) the axis is flipped on joint pole. (H0 P-25 B-180)
    Not sure why, but if you add pole first then add goal it is fine. But when you raise the pole the elbow joint points down and away. Now I can move the joint pole the opposite direction as a work around but wondering if anyone has any insight as to why this might be?

    • Tatum

      Yes. the same happens to me (R13). Also, when i move the controller (spline), the point of rotation breaks the restrictions! As the joints move, the cylinder rotates around other axises. This happened as soon as i make it a child of the elbow (as per tutorial). Any ideas how to fix?

  31. Just wanted to throw you some bones…. I think your awesome at teaching. Great voice. One of the best ….seriously!!!

  32. Björn Syse

    Great tutorial, thank you! I would be interesting to see you throw some hoses/electrical cords on there, and let them hang/deform with the movement of the arm.

    Best regards

    – Björn

  33. masterjey

    Hi there.
    A great tutorial.
    Just one little thing. As english is not my native language, it’s difficult for me to catch certain things.
    At 2:11 which shortcut do you use for making a child joint?

    Thanks in advance

  34. Roope


    I have problem at 21:40 where you make “grap all of the parts….” and make them a child of Elbow. Cant grap them visualy and when I do it at Object manager it just replaces them under the elbow, you seem to have “copys” under the elbow and the “originals” still under the original places.

    Dont know if I could explain it right. My tutorial is again stopped by some stupid mistake I cant spot. :/

  35. I just wanna say a BIG THANK U,
    by the way i would like to know what nickname you chose

  36. Gareth

    Thanks Chris, great tutorial and was just what I needed to help me model and rig a robot character. Here’s something I’ve been working on, just playing around with adapting the arm created from this tutorial and adding bits of armour etc. Really fun once you’ve created the hard bit!

  37. Lawrence

    Thank you Chris! I am using 13 (in 2013!) and although I have watched your Part 1 at least 5 times and replicated the steps, I am still having problems — in that the top of the shoulder is not remaining stationary. I think at first my problem was that you don’t have the floor grid on so it was hard for me to duplicate your positions, but then I did see the orientation of your project in the bottom left corner of your C4D window. Is there any chance someone please will load a version of their C4D file that works correctly? No matter what I do, I can’t seem to get the shoulder to stay put. I am stuck. And my arm is not working right when I add my objects to the bones set-up
    Hope people are still reading these posts. Thans in Advance

  38. Piernicola Arena

    Hi there,
    i’m new to rigging.
    I just modeled a mechanical spider out of this great tutorial…
    Basically the legs of the spider are these hydraulic arms, rigged up with joints, hydraulics and so on.
    The problem is that when i try to scale the whole spider to fit it into my scene all the IK messes up and the legs turn upside down or partially disconnected from the body.

    What am i doing wrong?
    Is there anyone that could help me?
    Thanks a lot

  39. Mythram

    Hi, with (R13) Ive solved the jumping issue by pressing the “RESET FK” at the IK tag, (ik solver 2d, axis auto)
    Hope it works for you also!

  40. In R13 something seems to have changed in the way IK tags solve stuff. In order to fix any problems, and you will have weird behavior and pull your hairs out while rewatching the video over and over… you do as Mythram suggests. Hit Reset FK. magically everything works. Now, while moving your goal around everything seems fine, but when you reset the goal back the geometry wont snap back along and reset the whole thing. There’s a solution for that as well. Scrub through your frames. Scrubbing around the frames will even it out again.

  41. Steven

    Hello. I can not understand the lesson, could send the file to the project? Thank you in advance for your help.

  42. and could this be used to rig a umbrella?
    becouse have no idea how to do it T-T

  43. Elliott

    I finished the tutorial and I can’t manage to fix one problem…When I move the control to move the arm , all the children in base joint turn on the B axe…So the arm pivots when i move the control , help me please !

  44. Brandon

    Awesome video, but I’ve made an animation, and I’m trying to get the constraint tag to start at one moment and then carry on throughout the animation, how would I do that?

  45. ItramariN

    I have a question. What if i want to separate skeleton from the model? If my model consists of hierarchical objects, i can’t bind them properly to skeleton. If they are not in hierarchy, all will be okay. But, if you bind parent object to bone, than children object to the next bone, you will see, that children starts to fly around. Is there a way to fix that without combining parts of the model into one?


Leave a Reply

Comment Rules

This is a friendly community. Please treat everyone with respect. We don't all have to agree, but we do have to be nice. Criticism is fine, but rude comments and name calling will be deleted. Use your real name and don't be spammy. Thanks for adding to the conversation.