Home > Tutorials >3d Studio Max Steam Animation Tutorial

3D Studio Max Steam Animation Tutorial

In this tutorial you will learn how to animate steam related mechanism for a locomotive.

3DStudio Max will be referred to as 3ds.

 

1. Add and resize shapes

You need to create three cylinders and two boxes and resize them as follows

 

Parameter
Cylinder1(Wheel01)
Cylinder2 (Wheel02)
Cylinder3(Piston01)
Radius
0.5
0.5
0.15
Height
0.1
0.1
0.5
Height Segments
1
1
1
Cap Segments
1
1
1
Sides
18
18
18

 

Parameter
Box1 (ConnectingRod)
Box2 (CouplingRod)
Length
1.2
1.2
Width
0.02
0.02
Height

0.1

0.1
Length Segs
1
1
Width Segs
1
1
Height Segs
1
1

 

Now that you have created and resized the objects I recommend that you rename them to the name shown in the brackets above. HINT. I always rename any object I create as this makes it much easier to find in the various lists of objects.

 

2. Rotating and resetting xform

Select Wheel01 and then select the rotate tool from the main tool button menu and type 90 into the Y co-ordinate. Do the same for Wheel02. For the Piston01 you will need to enter 90 into the X co-ordinate. Once you have done this use the "Reset X-Form" on all the cylinders.

 

3. Relocating

Now we can position the cylinders and boxes. Select the move tool from the main tool button menu. Type in the following co-ordinates for each object:

Co-ordinates
Wheel01
Wheel02
Piston01
ConnectingRod
CouplingRod
X
0
0
0
-0.03
-0.01
Y
0.6
-0.6
2.6
1.5
0.4
Z
0
0
0
-0.05
-0.05

Now that we have everything in location we should have a result similar to figure 1

 

Figure 1 Results after resizing, rotating and moving

 

4. Dummy objects

The next item we need to add is a bone or dummy item. To add a dummy item in 3ds you need to go to the "Create" tab and then to the "Helpers" tab

 

 

Figure 2 Dummy menu item

 

In this case you will need to create six dummy items. It is recommended to create the dummies in the top view. Once you have created the dummy items you will need to rename them. For animation to work in Trainz the dummies must begin with b.r.   If you do not name them correctly then Trainz will not recognize them.

For this example I will name them as follows.

 

b.r.main
b.r.wheel01
b.r.wheel02
b.r.connecting_rod
b.r.coupling_rod
b.r.piston01

 

5. Dummy placement

Once you have renamed the dummies you will then need to move the dummies to the correct location. The b.r.main should be moved as close as possible to 0x and 0y. The Z axis I usually keep the dummy about 200mm or 8" above 0. The location is not that important and in this case I have moved the dummy 500mm above 0.

The location of the other bones is however critical as it is what controls the animation.

 

Item
X
Y
Z
b.r.main
0.0
0.0
0.5
b.r.wheel01
0.0
0.6
0.0
b.r.wheel02
0.0
-0.6
0.0
b.r.connecting_rod
0.0
2.1
0.0
b.r.coupling_rod
0.0
0.95
0.0
b.r.piston01
0.0
2.6
0.0

 

6. Linking

Once the dummies are in location we can then start linking the items together. To link them together first select the link button and then select the item

 

Figure 3 Link tool

 

To make it easier to see if a link has been made I usually change the view setting to "wireframe" which can be done by right clicking on the text in the top left corner of the workspace.

You need to create the following directory structure which can be shown by pressing H. At this stage we don't want to link the Piston01, ConnectingRod and b.r.piston01 objects to anything .

Link b.r.wheel01 and b.r.wheel02 to b.r.main

Link b.r.coupling_rod and Wheel01 to b.r.wheel01

Link Wheel02 to b.r.wheel02

Link b.r.connecting_rod and CouplingRod to b.r.coupling_rod

 

 

Figure 4 Directory structure

 

You may need to check the box "Display Subtree" to show the structure. If you do not copy the above directory structure exactly then the animation will not work properly.

 

7. Time rate

Once you have this directory structure we then need to set up the time rate for the animation. To do this we need to click on the following icon located in the bottom right hand corner.

 

Figure 5 Time setup button

 

Once you have the following window open we need to change the Animation start and end time.

 

Figure 6 Time configuration window

 

The easiest way to do this is to select the "Re-scale Time" button which will open the window shown in figure 7

 

Figure 7 Re-scale time window

 

Where it says frame count, change the value here to 31 frames. Some people use a different number here but I find 31 gives a good smooth animation. Once you have changed the frame count click OK and the animation start time should be the same at 0 but the end time should now be 30. Also make sure the "Use TrackBar" checkbox is selected.

 

 8. Animation

Now we are ready to start the actual animation of the wheels. Firstly select the b.r.wheel01 dummy. Then select the rotate tool.

 

Figure 8 Rotate tool

 

Figure 9 Animation keys

 

In 3ds you will then need to select the "Auto Key" button (See figure 9). Before you move anything you need to use the button with the key on it with the tool tip "Set Keys" (Figure 9).

 

Figure 10 Zero key

 

This will set a base key or zero key as shown in Figure 10 which is the starting point of the animation. We now need to move the animation to the key 5. Select the arrow key pointing to the right as shown in figure 10 and the bar will move and frame 1 will be selected. Continue moving until you reach key 5.You can also drag the slider to key 5. Make sure you have the rotate tool selected as shown in figure 8.

Once you have moved to frame 5 select the text in the X: co-ordinate box and type in 60 then press enter. If you have every thing linked correctly and the correct dummy selected then both the dummy and the wheel01 should have rotated 60 in a clockwise direction (looking from the left).

 

Figure 11 Rotate co-ordinates

 

Now you need to press the "Key" button again then index to the frame 10, rotate the dummy another 60 degrees and press the "Key" button. You will need to do this for each of the frames listed in the following table.

 
Degrees
Frame
0
0
60
5
120
10
180
15
-120
20
-60
25
-12
29
0
30

 

 

Figure 12 Animation keys

 

Now repeat the above procedure for the second wheel.

9. Testing

When you have created a key for each frame you can test out your animation by clicking on the "Play Animation" button. If the wheel oscillates then you did not have the dummy located at the center of the wheel. If it seems to skip or pause then you may have missed a step when setting keys. Check each key manually and make sure that each frame number has a rotation value as set out in the table above. If you have missed a key then you will need to redo any of the keys that are incorrect. You can also have problems when using 3ds to create the values in between if you did not specify the correct value for the correct key then 3ds will calculate the rest of the values incorrectly and you will have to start again.

 

10. Changing link types

When you tested the animation and if you had everything correctly linked then you will notice that the wheel connecting rod (CouplingRod) moved with the first wheel but rotated as well. To fix this we need to change the link type. Select the b.r.coupling_rod dummy and then select the "Hierarchy" tab and then select the "Link Info" sub tab. Under the "Inherit" section ensure that the "Rotate" X,Y,Z check boxes are unchecked but make sure you don't change the "Move" check boxes. This will allow the bone to move with the wheel but it will not be rotated.

 

Figure 13 Hierarchy icon

 

Figure 14 Link settings for b.r.coupling_rod

 

NOTE1 When adding LookAt Constraints always add them to dummies only and always use a dummy as the lookat target. Failure to do so will cause the animation to work incorrectly within Trainz. When creating animation's think along the lines of "The Dummies do the actual work and the linked objects are only along for the ride".

NOTE2 When changing link properties always use the dummies link properties. Failure to do so will cause the animation to work incorrectly within Trainz.

 

11. Adding a constraint

Now that we have solved the wheel connecting rod problem we need to setup the other connecting rod. To do this we need to add a controller called a "LookAt Constraint". Firstly select the b.r.connecting_rod and then go to the "Motion" tab. Expand the section called "Assign Controller". In the window select the entry called "Rotation : Euler XYZ. Then click on the "Assign Controller" which is the box with the question mark on it. Then in the menu that appears select the "LookAt Constraint" and click on "OK"

 

Figure 15 Motion tab

 

Figure 16 Link settings for b.r.connecting_rod

 

Figure 17 Assign controller button

 

Figure 18 LookAt Constraint

 

Now that the constraint has been added we then need to add a target. Select the "Add LookAt Target" and then click on the b.r.coupling_rod. Also make sure the "Keep Initial Offset" checkbox is selected.

 

Figure 19 LookAt Target correctly selected

 

 

 

Now we need to change the "Link Info" for the b.r.connecting_rod. Select the link and then go to the "Hierarchy" - "Link Info" sub tab and uncheck the "Move" X and Y checkboxes.

 

Figure 20 Link settings for b.r.rod1

 

12. Adding final links

Now that we have all the dummies moving and rotating in the correct manner we can now link the last of the objects together. Select the link tool and click on the Piston01 and link it to the b.r.piston01 do the same for ConnectingRod except link it to the b.r.connecting_rod. Now link the b.r.piston01 to the b.r.coupling_rod. Press play again and now the rod should follow the controller but the piston also follows it. Once again we need to change the link type. Select the b.r.piston01 and then go to the "Hierarchy" - "Link Info" tab and uncheck the "Move" X and Z and the "Rotate" check boxes. Test the animation again and if all is correct then we should have a working steam animation.

 

Figure 21 Final linked Subtree

 

Figure 22 Link settings for b.r.piston01

 

Figure 23 Finished product showing the LookAt Constraint

 

13. Exporting

Once you have the animation complete then we need to export the drive setup to the Trainz format. Deselect everything and select "Export" from the file menu. Type in a name with the .im extension. Then select the "Trainz format [*.IM,*.KIN,*.PM]" entry from the file type drop box and click "Save". Then select "Export" again and this time type in a name and use the .kin extension. When the "Export Animation" dialog box appears click on the "OK" button.

 

14. Config entries

Now that you have exported the file into the Trainz formats you will need to set up a directory structure and create a config file with the line "animdist X" for bogeys with the X being the circumference of the wheel in metres. For scenery, locomotives, interiors and rolling stock the animation needs to be set up in the config file. Animations can be controlled with a script or they can be set to auto run.

 

 

Was this tutorial helpful? Not enough or too much detail? Points not explained properly? Suggest any improvements?

Download this tutorial here as a PDF document.

 

 

 

Trainz and Trainz Railroad Simulator are trademarks of Auran

Best viewed at 1024 x 768 or higher

Pages best viewed with Cooper and Cooper Black font installed

Copyright © 2007 P. Campbell. All rights reserved. Revised: June 13, 2007