Tutorials at Lizard Lounge Graphics Lounge : JENNA v2 Tank Treads


1.8MB QuickTime Movie

Here's a handy way to use Cidertank's JENNA v2 ITERATOR plug-in for CINEMA 4DXL v8.1 to make some quick and tasty tank treads for your tracked vehicle of choice. For those new to ITERATOR here is a bit of background:

ITERATOR is a non-destructive plug-in that makes and transforms copies of a given object/ hierarchy in a number of different ways. You can use ITERATOR to place objects at regular intervals within your scene, or to distribute or place objects along a spline. ITERATOR can use more than one source object by utilizing an additional plug-in called Multiple Source. There are options to cycle through the multiple source objects or to randomly use them. It's all pretty cool and it is best to play around with it to see what's possible.

In this case I've made a single piece of tread geometry (inspired by a photo I found on the US Marine Corps web site of a wrecked Soviet tank). It's not exact, but then that is not the point of this exercise.

Tank tread geometry
Tank tread geometry...

With my geometry ready, I then created an ITERATOR object in my scene and then added a closed spline object to represent the path that the tread is to follow. I made both the tread geometry and the spline child objects of the ITERATOR object. With the basics set up it is now time to configure ITERATOR to handle my objects the way I want it to. Since the treads are going to be regularly placed along the spline I will make sure to zero out the Transform percentage as the defaults are not appropriate for what we are doing here (NB: you can leave the other Transform settings alone - just change the main percentage value).

Next I enabled the Path option and enabled the Tangential option. This will make it so that the treads are aligned properly. I did have to change the orientation from when I modeled the original tread so that it pointed the right way. And finally I set the Distribution to "Fit Length" so that the treads would be evenly placed along the spline. I then set the count for the number of objects to make with ITERATOR to 125.

Transform settings Path settings
ITERATOR Settings for Transform and Path

125 treads tangentially aligned and distributed along the path...
125 treads tangentially aligned and distributed along the path...

To animate the treads going around the path it is essential to choose the right thing to animate. By animating the Path Origin Offset you can make the objects go round and round (assuming the other settings are as they pictured above). A value of 100% means one time around the path. With a little math you can work out how fast the treads should go to represent travelling at a given speed. In this case I set it to 100% for the duration of my clip. So treads going round and round are pretty neat, but there are all sorts of secondary motions that make for a believable tank tread. There should be a little play in the ends that hang and are being taken up as the links have a little 'give'. The long run that is unsupported in my example would also twist a little and there would be some standing waves that get going through it as well. These are all easily achieved with NICKL for the hanging and wiggling parts and an FFD lattice to add the twist to the track. If you made an accurate model with all the traveller wheels and bogeys you would need to change the size of the FFD - maybe add a couple more of them and use more than one NICKL object along the top. This should give some ideas that you can then build on if you like.

A composite view showing the three NICKL deformers and their falloffs...
A composite view showing the three NICKL deformers and their falloffs...

FFD lattice being edited for a PLA track animation...
FFD lattice being edited for a PLA track animation...

For a bit of 'fluff' I also added a UV offset animation track to the ground plane material so that it looks like it is traveling along at the same speed as the treads. This took a little experimentation and trial and error work, but in the end I found a value that worked well for me (-1400%).

If you wanted to add things like an uneven terrain you could have additional FFD's that correspond with rocks or potholes and slide them through the ITERATOR object to make the treads 'react' to other items in your scene. Do pay close attention to the way I have set the hierarchy in this scene so that the deformers all work as they are supposed to.

Have fun and let me know if you have any questions.