Hello everyone, this tutorial will guide you through the process of creating a full tank rig system in 3ds max, well... maybe not fully but certainly with a lot of tools to make a realistic tank animation, actually, when you've learned this, you'll be able to make a car rig too with a little modifications. This is a medium-level tutorial, so you need some knowledge with the max's rigging tools (bones, IKs, constraints, and so).
You can check the tank's behaviour in this video: video_tank.mov
(right click, save target as)
What you're gonna learn:
Ground Projection System
With this system our rig will be able to detect a ground and adapt itself over the ground's surface; we will only need to animate a point through a spline path. The system could work without that spline, but the fact is that the next features of this rig need this usage. There are more complex systems that work pretty fine only with transform keyframes, but they're history dependant and consume more cpu resources than this one, maybe later on we'll be checking those methods.
Auto Spinning Wheels
This system makes the animator's life easier; well... it's what a rig is supposed to do. Having a path where the tank will be going to travel, we're going to define the wheel behaviour in respect to this distance. Here we're going to use some scripting and some high school math, but don't be afraid! If you haven't tried this stuff yet, now you're going to learn, it's not hard, trust me, in fact, the entire math that we're going to use will be multiply and divide.
Auto Slide Caterpillar
The caterpillar band will be composed of several pieces sliding through a spline which will be projected to the ground too, this is more realistic than other systems like using a path deform modifier over a whole caterpillar band, that's because each caterpillar's piece has its own behaviour instead of begin rubber-deformed like the path-deform method. Here we're going to use script controllers too, very similar to the wheels system, and some iterative macro operations. This last one will be very useful for a lot of tasks for other kind of projects, in a few words it means to do a lot of repetitive tasks in a few lines of code.
Frame Position and Orientation
With this we're going to calculate the position of the tank's frame using the position of the wheels (this sounds easy!), and its orientation using the rotation of the wheels axles.
Cannon Targeting System
Finally, we'll be making the cannon's rig. This one is a piece of cake; we'll be playing around with some look-at constraints.
Now let's begin....
We're going to use this file: tank_rig_start.rar.
(right click, save target as) this is a 3ds max 9 version file.
Extract it in your pc and open the tank_rig_start.max file. Here we have a basic tank model: the frame, turret, cannon, a wheel (we'll clone the others), a caterpillar piece, and the ground. This last one was made starting with a plane with a lot of segments and some noise and wave modifiers applied to it. Also, we have some red spline objects and two points, they have an important function, we are going to use them as animation controls, the animator will only animate these objects (Just for manual adjustments), and the rig will do the magic!, so, they must be visible and accessible enough to help the animators recognize and select them as soon as they want to interact with the rig system. I choose red as its colour, but you may choose any colour you like, preferably a very light and saturated colour. We have a spline too, which is going to define our tank's path, when we finish our rig this spline could be modified as you like, moving, removing or adding vertices.
The Ground Projection System
How are we going to project our tank to the ground?, there are several methods, some more complex than other, but the one that I'm going to explain right now is one of the most intuitive. The main Idea is to project our wheels' position using a mesh projection; we can do that using the "Conform" tool. If we have a mesh with one vertex for each wheel, we can project the mesh using this conform, and constraint the wheels' position to these projected vertices. We'll be using the conform Geometric/deformable space warp.