Tank Treads


I need to make tank treads move. I haven't figured out the best way to do this.

Create a bump and or displacement map in a paint program with the raised area of the tread white and the in-between areas black. Then go into modeler and create a two sided plane object with a slight amount of thickness and be sure to create it with a generous amount of segments. Give it a surface i.e. treads and save it. Now use the bend tool and curve the plane back upon itself in the manner of a tank tread. When you have the proper shape give it a different surface name and save it under a different name. Now in layout load both objects and give the plane object the bump map, or the displacement map if it has lots of polys. Morph the the plane into the tread shaped object and give the texture a velocity on the lengthwise axis. The texture will now follow the circular path giving the illusion that the tank treads are moving.

Dan Bloomfield


SWELL TANK TREADS -- IMPRESS YOUR MOM
by Andrew Hofman
Animator, LumaQuest Productions

Hasn't it been driving you nuts? Tank treads are really cool. At least I think so. But they're a big pain to do in LightWave, right? Wrong! This tutorial explains how to create treads with a minimum of fuss and almost no math, which is good since I am mathematically "challenged." It assumes a reasonable working knowledge of LightWave Modeler and Layout. These treads are not image-mapped, nor do they require lots of tedious object choregraphy. What's more, they are not bone-dependant, although bones can be used for aesthetic reasons if desired. The principles used here can be applied to other open and endless-loop style objects as well.

Due to the limitations of printed text, the tread described here is cloned from nothing more than a simple rectangular box. These tread "links" are free-standing and not actually connected, but anyone with the skills to complete this tutorial can easily develop more sophisticated designs. The exact same principles apply.

Before we begin, let me explain how this method works. Since tank treads follow a closed loop, rail cloning around a tread-shaped curve seemed a logical place to start. The problem was, how to create a proper morph target as well? To accomplish this, I exploited the fact that rail-cloned objects can have the same point order, even when the source object has been moved along the rail and re-cloned. To get proper wrapping of the links around both curved ends of the tread, it is important to have the master link centered precisely with respect to the curve's start point. This means moving the start point as well as the master link before creating the morph target. That is the key to the whole thing: Even moving the start point will still yield a valid morph target!

For simplicity, I chose a tread design in which links would be spaced the same distance as they were wide (though this does not have to be the case). By shifting all the links counter-clockwise exactly twice their own width, I got the same effect as rotating a gear twice the angle of a single tooth. In other words, you don't need to rotate a gear through a full 360 degrees; you just rotate it a little and keep playing that in a seamless loop. Now let's get down to it.

CREATING POINTS FOR THE CURVE:

1. Starting in Layer 1, create a disc. The settings are all default, except for the top, bottom and center: Sides = 16; Segments = 1; Top and Bottom = 0; Center = -2m on Z-axis; Radii = 500mm

2. Use Mirror to create a duplicate of this disc on the other side of the Y-axis. These two discs will form the ends of the tread.

3. Use Box / Numeric to create a box with the following dimensions:

X = 0, 0
Y = -500mm, 500mm
Z = -1m, 1m

4. Create a single point at the following location: X= 0, Y= 500mm, Z = 0. Then create another point, identical to the first, except at Y= - 500mm.

BUILDING THE CURVE:

5. Switch to Polygon selection mode to make sure no polys are hilighted, then switch back to Point selection Mode.

6. We're going for a hot dog-shaped curve here. Starting with the bottom dead center point at Z=0, select all the points one by one, in counter-clockwise fashion. Ignore the 7 inward-facing points on each disc.

7. With all the relevant points hilighted, use Tools / Curves / Make Closed. The resulting closed curve should look like a cross-section of a hot dog. The top and bottom horizontal segments will not be perfectly flat, but adequate for this tutorial. More points can be added later. (If you're using pre-release Alpha or some other crash-prone version of Modeler, I'd suggest saving the curve now as TreadCurve.lwo.)

8. In Polygon selection mode, the curve should be the only thing hilighted. Cut it and paste into Layer 2.

CREATING THE MASTER LINK:

9. Go to Layer 3. Use Box / Numeric:
X = -500mm, 500mm
Y = -525mm, -475 mm
Z = -50 mm, 50 mm

This creates a box 100mm wide and 50mm tall, centered exactly on the tread path. It is also centered exactly over the start point of the curve. This is important! Without this, the links would not wrap correctly around the curved ends.

9. With this box as the only active Layer, make the curve a background Layer. Select Multiply / Rail Clone and set it for 56 Uniform Lengths, Oriented. This creates links that are spaced the same distance as they are wide (There will be a slight progressive error as they wrap around, amounting to approx. 1 mm when the final one is reached. If it bothers you, try shortening the curve later). This 100mm spacing is not the only option, and I would encourage trying others on your own. One side benefit, it allows pretty accurate measurement of the curve's circumference: 56 x 2 (for the empty spaces) x 100 mm per link = 11.2 meters. This would be great for measuring irregular curves!

10. You should now have a tread, with links wrapped smoothly around both ends of the curve. That is, each one should be at 90 degrees with respect to the curve's tangent at that point. If it looks good, save this object out as Tread1a.lwo, then hit Undo. This should leave you once again with a single tread.

CREATING THE MORPH TARGET

11. Make both the link and the curve active Layers. Draw a volume box enclosing the link and the curve's start point, which should be right smack in the middle of the link. Move both of them exactly 200mm on the Z-axis (The animation will run "backwards" if you move them minus 200mm. It's your call).

12. Repeat the Rail Clone operation of Step 9. Note how the treads still wrap correctly around both ends. That is why you had to move the curve's start point. Save this object out as Tread1b.lwo.

That concludes the modeling stage of this tutorial. Now enter Layout and load both objects.

FIRE THAT BABY UP:

13. In the Objects Panel, make Tread1b 100% dissolved. Since it is a morph target, we do not need to see it. Its placement in the scene is not important either, so it can be left where it is.

14. Also in the Objects Panel, make Tread1a the Current Object. Select Tread1b as its morph target.

15. We need to create a morph envelope for Tread1a. Click on the "E" (envelope) button next to the Metamorph Amount box. Leaving the default key at Frame 0 alone, create a key at Frame 20. Give it a value of 100%. Also change the End Behavior to "Repeat."

16. Exit the Envelope and Objects panels, and position your Camera for a good view of Tread1a.

17. Make a wireframe preview, Last Frame = 20. Play this back in endless loop mode. See the cool tread rolling away? Now go invade Poland!

EXTRA STUFF:

Treads are heavy and they usually sag on top. While the initial curve in Modeler could be modified to include some sag, I don't recommend this. Using 1 or 2 Bones in Layout is a far more flexible approach, and is almost enjoyably easy (for bones). Try adding a couple to Tread1a. Give them a Limited Range of 1 and keep them in their default rotation, laying down on their sides. With a Limited Range, they will not affect the entire object and you won't need to mess with lock-down bones. Place them along the top of the object and position accordingly. If your vehicle design has a lot of idler wheels along the top, use several smaller bones pointed vertically to create sag in between them. You could also try 3 or 4 bones along the bottom of the treads, moving both them and the wheels to conform with bumpy terrain.

I hope you enjoyed this tutorial, and that it proves useful to you in future animations. If you have any questions, don't be such a stranger! My email address is below.

Andy Hofman
andyh@erinet.com


I'm trying to model and animate some realistic tank treads. Any kind of morphing is not allowed on this project so I can't use either of the tips I've found on the Primordial Soup page.

The only approach I've come up with is this:

1. Using rail clone make the "hotdog" shape with 100 evenly spaced points in the face view

2. Create a single link(a cylinder with a couple of nurney's) and aligned it on the X axis(parallel to the motion)

3. Starting with the center point on the upper part of the tread shape, select the points in a clockwise manner and create a curve that is exported to Layout as a Motion file.

4. Go to the next point on the loop and repeat step 3

5. In Layout load up the link object, load its Motion file, and turn on Align to Path so that the link rotates correctly as it follows the circumference of the tread.

This actually works quite well. The problem is obvious...I've got to turn 100 points into a spline, export to motion and repeat 99 times.

S. Hurley

 

© 1998 Primordial Soup Animation