Animated Windmill

Part 1


A model of an Australian windmill might be a good example of a simple animation. I assume you are familiar with basic gmax creation, so I will concentrate on the tools to make the windmill in gmax and the animation, and not the basics of texture mapping or manipulating meshes.

Typically a windmill might be 10 metres high, with a base of 2.5 metres square and a mill diameter of 4 metres with 20 blades. While the picture above shows a triangular base windmill, the model we will make is a square one.

Settings in Gmax

It is important that the System units in Gmax be set to Metric for animation to work properly.
Refer to my separate tutorial “Setting Up Gmax” on how to set up gmax for exporting correctly into Trainz.


The steel frame for the tower would typically be made from angle iron and flat steel, and would often show extensive rust. While we could use transparency to make the bracing and members, a better model can be made using individual planes with 2 sided materials.

First the legs – in gmax in top view, make a box 0.1m by 0.1m by 10 m high to represent a vertical leg of the windmill, and place it at X=1.25m, Y=1.25m from the origin. Make a rusty steel texture say 64 by 64, and load it into the material editor, and make it 2 sided. Map this to the box.

Clone the box to make the other three legs and place them around the origin to make the four legs, forming a square of 2.5 metres sides. Attach the legs together to make one mesh.

To make the boxes into angles, we need to remove some of the faces. In top view, select all the top, bottom and inner faces of the boxes and delete them, we should be left with just the outer angles of the boxes.

In side view, select all the top vertices and you could use the scale tool to squeeze them inwards, about 0.6 metres square at the top, to make a pyramid shape of the four legs. This will also change the widths of the verticals, which should be corrected, it may be better just to move the vertices inwards separately to the shape required.

For the horizontal side braces, make a box 2.4m by 2.4m by 0.1m high and map the rust texture. Remove the top and bottom faces of the box to make a hollow square of just the box sides. Move this up about 1 metre above the ground, and shrink it in to surround the four legs. Leave a little space from the legs, so the sides do no occupy the same space as the leg faces, or they will flicker in Trainz

Clone the shape and move it up the legs about 2 metres, shrink it in again. Repeat until the horizontal bracing is complete for the full height. The sections used in a real windmill would be angles, but planes in the model will reduce the polycount and still show a believable structure.

Construct the diagonal bracing for the sides from vertical planes 0.06m wide, make the bracing span vertically between two horizontal braces, number 1 below. Map the rust texture, then drag the vertices sideways to make the plane take on the form of the diagonal, number 2 below. Clone or mirror the diagonal to make the other crossed plane. Attach the two together to make it easier to adjust to the sloping sides, number 3 below.

Move the vertices until the bracing conforms with the sloped shape of the tower. Clone the crossed bracing to make the other diagonals up the tower on one side, see pictures above. Join the four diagonal meshes together to form one mesh, clone the mesh and rotate it 90 degrees to form the bracing on another side of the tower. Repeat for the four tower sides.

We could make some concrete footings for the base of the tower legs, but often the towers would be buried in the ground, or in a concrete filled hole. A ladder could also be made for the tower using planes. Note the legs should be burried a little way into the ground, to allow for any ground slope in Trainz.

Windmill Blades

The blades and frame are often referred to as the Mill. The Array tool makes short work of making the 20 blades.

Make a blade as a plane in front view, to the dimensions shown below. Place it on the Y axis, 0.6 metres up from the origin. In top view twist the blade 15 degrees, and texture it with a galvanized material.

Now the mill will have a vane at the rear, it trails downstream of the wind. The wind will be blowing in the Y direction in the Top View below (up the page), so the blade will spin to the left (anticlockwise). Remember this when we come to animate the mill. You would often see the vane off to one side of the mill, this is to stop the windmill operating, the wrongly positioned vane will not allow the mill to be turned into the wind.

To make the other 19 blades, we will use the Array tool and clone the blades around the origin. Select the blade and move the centre of rotation of the object to the origin.

1. Choose the Hierachy menu;
2. Select Affect Pivot Only;
3. Right click on the arrows in the coordinate menu at the bottom of the screen to centre the axis to the origin.

When finished, make sure you click again on the Affect Pivot Only button to turn it off, otherwise we will be moving the pivot and not the object, later on.

Using the Tools – Array menu from the top menu in gmax, create the other 19 blades using the settings below. Note we are rotating about the Z axis, and using a spacing of 18 degrees. The ID count is the total number including the first master blade. When finished, attach the blades together as one object.

On the origin, make a hub for the wheel from a cylinder 0.1m radius and 0.2m deep, 1 segment long and say 10 sides, in front view on the origin, and texture it.

The mill has a number of circular braces holding the vanes or blades in position. We will make these from cylinders, and finish with a flat 10 sided ring. For the circular bracing rings to the mill, we will clone the hub cylinder by holding the shift key down and using the Scale tool  to make the clone 500% of the original hub cylinder (click on an axis and drag to 500%).

Make another cylinder 470% of the hub, and move the end vertices so it is longer than the 500% cylinder, and fully penetrates that cylinder. The 470% cylinder will be used in a Boolean operation to cut through the larger cylinder.

Make the larger cylinder into a tube by Boolean cutting it with the smaller cylinder. The steps are:

  1. Select the larger cylinder, then choose the Create menu;
  2. Select the Compound Objects option from the drop down box;
  3. Click on the Boolean;
  4. Make sure the choice is Subtraction;
  5. Click on Pick Operand B;
  6. Click on the smaller cylinder that penetrates the larger.

The smaller cylinder vanishes and the larger cylinder should now have a hole through it.

Remember to convert the resulting Boolean object back to an editable mesh, go to the Modify menu, right click on the Boolean button and select Convert to Editable Mesh.

As we only want the front ring as a plane, we need to delete all the vertices at the back of the cylinders which will remove the unnecessary sides and rear of the cylindrical tube.


Clone this ring to make a larger outer ring by again holding the Shift key down and using the scale tool  to make a larger ring clone (about 175%). Move both rings back behind the twisted blades. From the central hub, clone a smaller hub for the front of the mill, to support some additional support planes to the outer ring.

Make a small plane in front view and rotate it so it will join from the new small hub to the outer ring, move the axis centre of the plane to the origin, and rotate it so it fits between the blades (at position A). We will again use the Array tool to make a total of 5 support planes at 72 degree spacings around the wheel. Notice the axis of rotation in this instance is the Y axis.

Attach these planes together as one object, and move the vertices in the Y axis so the planes radiate from the small front hub to the outer ring. We should clone these planes to make another set from the larger rear hub (main bearing) to the outer ring as well.

This is the finished mill, with the main bearing re-textured rusty:

Bearing for the Mill on Top of the Tower

Remember we made the mill on the origin so it has to be moved to the top of the tower later, so we should now make the bearing support at the top of the tower for the mill. Make and texture a suitable shape for this item, a couple of boxes and cylinders, something like this:

The box for the crank and gears is about 0.6m high, and the mill bearing is a 0.2m diameter tapered cylinder (use a 2 segment cylinder) about 0.3m long. As the assembly will pivot horizontally, make a cylinder under the box to represent the horizontal pivot. Remember to remove any polys that will be hidden in the final model, such as the bottom of boxes or the ends of the cylinders.

Move the mill up to the top of the tower, and locate it on the bearing, make sure the blades clear the tower itself, you may need to adjust the shape or position of parts of the mill to suit.


To make the tail vane, use a plane for the vane, and a box and plane for the steel supports. If you make the vane plane 2 segments, you can move the vertices to give an arrow shape. Choose sizes that look right, perhaps a 2.9m long by 0.9m high vane would suit. Texture the vane galvanised corrugated iron, a common material for windmill vanes.

I mentioned that the vane is often seen placed at an angle to the mill, it does not always align with the bearing axis, and the wind does not turn the mill into the operating position. Since we want an animated windmill, the vane should extend directly behind the mill as shown.

Water Pipes

For the vertical water pipe up the centre of the tower, make a vertical cylinder on the origin 0.08, diameter, no more than 6 sides, for the water uptake, about 3.5m high, and texture it rust. Remove the top and bottom polys of the cylinder.

Clone the water pipe to make another smaller cylinder 0.05m diameter (use the scale tool to reduce the size) for the lift or draw rod up the centre of the water pipe, the one driven by the mill crank up and down, to raise the water. Make this rod penetrate the water pipe and the upper crank box at the top of the tower. Texture this galvanising for contrast. While this rod could be animated to go up and down, it is usually too small to notice.

Clone the first water pipe, rotate the clone horizontally, and merge it with the vertical water pipe to make the discharge pipe, reduce its length to about 3m. This will discharge into a water tank.

Water Tank

It is usual to discharge into a tank near the base of the windmill, and we will make an open top tank.

Make the water tank from a cylinder, about 4m diameter and 2m high (use 16 sides), set it about 0.3m into the ground. Locate it under the discharge pipe and texture the sides corrugated galvanised iron. Make sure the texture is 2 sided, so the inner surface of the tank will show.

Detach the top polygon, and lower it down into the tank. Find a nice water texture to map on this surface. Re-attach the surface to the main tank. Move the tank and the water discharge pipe so the placement looks realistic. Remove the bottom polygon of the tank as it will not be seen.

We can use a smoke attachment point under the end of the discharge to simulate water flowing, so in top view add a point a.water0 just below the end of the pipe and rotate it so when you check the axis in the Hierachy menu the green arrow points downwards. Do not rotate the axis, just the point. This point will be referenced in the config.txt file to generate a dropping water effect.

Construct a platform about 1.2m below the bottom of the mill, for maintenance. Use a box about 1m square and 0.12m high, and texture it with a timber decking and rusty steel surrounds. Boolean cut a hole through the centre where the tower passes through. Now is the time to add a ladder up the side of the tower to the platform if you wish.


Animation of the windmill is covered in Part 2 of the tutorial, click the link below:

Ian Manion (Vulcan) May 2008

The full tutorial is available for download as a pdf see the link below:

The model files (gmax and ingame files) are also available for download see the link below:

Amendment Notes and Comments

18/05/08 Initial issue.