In this tutorial we are going to look at how to animate a gear train in Blender with constraints, such that all the gears follow the lead of a single empty. This technique offers a much cleaner system with less margin for error
User Submitted Images
No images submitted yetDiscussion
23 Responses to “Animating a Gear Train”Leave a Comment















hey dude
love the tutorial
but i have a problem i hope you can help me with
i have my rod on the vertical, i have the location values set correctly but the rod resets at 180 degrees rotation, what am i doing wrong
Check that you have the correct axis set for the constraint. The simplest way to do this is simply trial and error, try each one until it works (that’s the inaccurate, but simplest way).
The way you made the gears there is a gap between the cogs of the firs and the second gears. How do you make it move realisticly – the second gear shoud not move until it comes in contact with the next cog of the first?
I’m sure my question would be more along the lines of the game engine but maybe you can answer it. In your tutorial, all the gears act independantly from one another. I would like to see a more “Cause and Effect” set up where the rotation of the first gear causes the rotation of the second gear, and so on. The action between cause and effect would be the teeth on the first gear pushing the teeth on the second. Also, setting up some sort of limiting blocks to prevent overrotation. Is this possible.
This might be possible using Bullet physics through the Game Engine. It would probably be done using rigid body constraints for rotation. Hmmm… I will have to play with it.
I used this gear tutorial and then added a tank track array deformed by a curvecircle and transformed the location by the rotation of the empty (like you showed using the cube) and a simple tank tread was created with everything rotating together. Thanks for the very useful tutorial.
Really intriguing article, something comparable to this occurred to me not too long ago and it pretty much played out in the same way to how you describe it.
Hello Jonathan,
First of all, I would like to thank for the awesome tutorials that you have here on the website.
My question is quite similar to John’s question..
For instance, if i would making a robot, modeling, rigging, etc. Is it possible to make it’s junctions (like knees, elbows) to work properly? using riggid body or so..
My problem is that when I run the animation, all parts “explode”… flying to all sides.. I saw what John said about ‘limiting blocks’, and I’v tryed, but it doesent seems to solve the issue.
Could you give me some help ou advise.. something that i may have forgotten.
Do you think that just faking it would be a better way to carry on this idea?
Thanx a lot!
make links how made this=buttons to made make links please help thanks
Hey,
Great tutorial I made mine with a bigger gear. Only need to adjust the influence zone for the bigger one:
http://www.youtube.com/watch?v=nEoc3X1n0Ks
I think I can add a chain to this with ease.
Hey guys, i just tried that tutorial on blender 2.5 and it appears that the rotation constraint had a weird behavior.
I would say something about absolute value in the back-end code which make the object change rotation direction once half way.
Could someone else tell me if they have the same issues ?
tom.
same thin. when i rotate my empty to 90 deg the gears switch direction on 270 deg they switch again and so on
i found a work around. don’t check the rotation for other axies check box and it fixed mine
i’m using blender 2.5 alpha 2 and the transformation constraint won’t work :,-( the object just sits there >:-(
just read the 2 posts on top of yours
This video was very useful.Maybe I’ll try modelling an automaton from Syberia later.
Thx Jonathan!
thanks for the tut
I have a question: how to locate/rotate the gears so that they will never run into others when the Empty is roated.
I think this is not a question like chris has asked.
thanks again
Tks Jonatan
Great tutorial. I have a scenario where I want to copy the rotation of a smaller cylinder to a bigger one. Do you know how could I rotate a cylinder copying the rotation of another smaller cylinder with an influence smaller than 1 and still make the bigger cylinder to make a complete turn? The bigger cylinder resets its turn when the smaller cylinder completer 360 degrees.
Thanks. I appreciate a lot your tutorial.
Ok. I did the other way around. The location in x direction rotates my cylinder. This way I can do an eternal rotation. Thanks anyway.
Very interesting tutorial. I shall have to give it a try (got me a thing for gears). Question for me would be, what if the gears have different numbers of teeth? I suspect one would have to animate them individually (at least that’s how I have done it, calculating the gear ratio).
How did you make the gears? I have seen the gear script, but haven’t done much with it myself. My normal method is to create the gears in Inkscape, then import the .svg file into Blender and extrude it.
Another consideration, depending on what your intended purpose for animated gears is, is that you can get away with animating the gear “by just one tooth” (unless you have specialty gears that aren’t symmetrical), saves on render time (I mostly do GIF files, and being able to animate an entire gear in just five frames is a must, it just keeps playing the gear rotating by one tooth over and over again, but the gear looks like it is doing a full rotation).
The video below was done with my Inkscape extrusion technique, but not by “one tooth”, obviously.
http://www.youtube.com/watch?v=acXiebKExQM
Hi john, i like how you did this tutorial and i really appreciate you doing it. but i do have a question.
i’m trying to use a driver for wheel rotation (basically a train) and i’m wondering how to make not a shape driver but a graph driver. so can you make a tutorial for that please? thanks
-AJ
It is called a Rack and pinion where the rack is the long linear gear and the pinion is the round one (FWIW).
Great tutorial. I didn’t realize something so complex could be so simple. I also like how it is explained comprehensively and gives common pitfalls. Very useful website.
Glad you like it and thanks for the clarification
-Jonathan