|
www.blender.nl this document is online at http://www.blender.nl/showitem.php?id=166 |
|
|
|||||||||
|
![]() The finished product! |
| What I want to do and where I learned it |
|
In this tutorial I intend to demonstrate how to make a track with synchronized gears.
I use a variation of a method demonstrated by tHe-IcemAn (Geno Ruffalo) in his by now well known TankTrack example: http://members.yourlink.net/gruff/filez/tracks.zip. It uses a single follow-curve with a time-offset for each tread. This has a limitation in that if the curve moves, the treads will lag behind the curves movement because of the time-offset. I use a separate follow-curve for each tread. This overcomes the "slurph" problem of tHe-IcemAn's method |
|
This tutorial assumes that you are fairly comfortable with the basic Blender concepts like IPOs, the object model and familiar with the Blender GUI, but I'll try to explain all the operations as I go along.
It will not go into how to actually model the tank. I used some stuff I already had. Anyway, the finished result should look like this picture and the .blend-file can of course be downloaded at the end of this tutorial. I've also put together a small animation, also available at the end of this tutorial.
One point to note: I've parented practically everything to an empty which I will refer to in this tutorial as the "MasterEmpty". |
|
![]() |
|
I like to have the treads move "forward" before I start messing with TimeIPO's and stuff. I feel that it is more intuitive that the track move forward when time moves forward. If you dont understand a word of this I hope it will become clearer as the tute move on. I mention this because sometimes the track moves in the wrong direction when I first set it up. My quick fix for that is just to rotate the curve 180 degrees (around the Z-axis, in top view, in this case) and realign the vertices. |
|
![]() The curve for the threads |
![]() |
|
|
![]() |
![]() |
|
| Basic track-following |
|
Make the curve the parent of the tread. To make the tread sit on the curve press |
|
![]() |
|
![]() |
|
![]() |
|
![]() |
|
![]() |
|
The gear should now turn round and round. Repeat the process for each gear. I expect a lot of the more experienced Blender-users will object to my use of IKAs here. I will explain the reasons why I choose to use IKAs at the end of this tutorial |
|
![]() |
|
![]() |
| Adding more treads |
|
The next steps can be a major hassle. This is where I use the 3D-window, the IPO-window and the OOPS-window together. My screen looks something like this: We're going to use a separate path for each tread. Fourtenately curves don't take up much filesize. Since we're going to have a bunch of identical curves at the same place telling them apart can be a bit tricky. This is where the OOPS-window comes in handy. But first, delete the Time-curve in the TimeIPO. |
![]() |
|
![]() |
|
Select the tread and make a linked copy of it with ALT+DKEY. In the OOPS-window place it somewhere sensible, like below the curve object as I have done. ActiveSelect the new curve while having the tread selected by pressing CTRL+SHIFT+RightClick in the OOPS-window. Go to the 3D-window and make the new curve the parent of the tread by pressing CTRL+PKEY. You may need to clear the origin (ALT+OKEY) and adjust the rotation of the tread after it has been parented to the new curve. That's why I find it helpfull to do this on a fairly straight piece of curve.
Go to the IPO-window and move the Speed-IPO one unit to the right. Hold CTRL down while dragging to get exactly one unit. |
|
![]() |
| Bringing it together |
|
Get the whole thing moving. Now it's just a matter of moving the master-empty as you please and just synchronizing the TimeIPO as needed.
Oh, by the way. You will of course repeat the whole process for the other track. ;) Have fun! |
| Why I use IKA's and stuff |
|
I use IKAs to controll the gears because I find it gives the result I want and is fairly easy to set up. The main point is to be able to controll the movements of all the treads and gears with a single IPO. I didn't use tracking, because it can be a bit tricky getting right. Especially in this case, where the gears spin in the vertical plane. Since tracking-objects like to know which way is up the qears would flip every 180 degrees. The tank wouldn't look very sturdy like that. The "I-want-to-know-which-way-is-up" behaviour can be switched off, but when I tried to do that the gears just spun around like they were drunk or something. Just using RotIPO's for the gears would defeate the purpose of controlling everything with a single IPO-block.
Another way I could have done it would be to make the gear-curve the parent of the gear an let the gear use the TimeIPO. However, Blenders curves aren't perfectly circular so the gear would appear to woble. This could be reduced by scaling the gear-curve down, but I still feel it looks a bit wobly. But mostly I used IKA's because I was to lazy to figure out a better way. They're so nice and predictable, those IKA's. |
|
![]() |