Society of WWI Sim Artisans


USING ANIM8OR IN RED BARON 3D
by Charles de Thielt

Download this tutorial in Adobe PDF format (zipped file)

Contents
Getting Started
1.Preparing Anim8or
2.Other programs needed
3.Specific Anim8or issues
4.Known Bugs in Anim8or
Drawing
Part Naming
Materials
Positioning textures in UV mode
Collisions, sorting problems and see-trough effects

The purpose of this tutorial is to help whoever wants to use Anim8or to build 3D models for RB3D. It is not a manual on the use of Anim8or, you can find such a manual on the Anim8or website: http://www.Anim8or.com.

I assume that you have downloaded the program and the helpfile and have installed it.

On some PC’s with voodoo 3 or higher cards, there are installing problems. Don’t use the latest 3dfx driver (1.09 and higher) but an older one (1.05).

If you experience problems, you’ll probably find a solution at the programmer’s forum or you can directly contact the programmer. He’s always willing to help.

Introduction

Models can be built with a 3D program like 3Ds Studio Max ($4000) or Anim8or (freeware). In the case of Anim8or the an8 file has to be exported as a 3ds file. The 3ds file is run through a converting program to obtain the dts and dml files of a plane. When using Anim8or, the dml file needs adjustment, feasible with a few special programs.

A model is composed of different parts (called meshes in 3D) that all have names with an extension. These extensions identify the parts and relate them to the damage and movement animations. For animation purposes, most parts are multiplied: each sequence of an animation is represented by a separate part in the 3ds file.

Getting started
(Contents)

  1. Preparing Anim8or
  2. Other Programs Needed
    (Contents)
  3. Specific Anim8or issues
    (
    Contents)
  4. Known Bugs in Anim8or
    (
    Contents)

Drawing
(
Contents)

Most faces you’ll draw will be one-sided faces. In a 3ds file these have to be triangles. This is not required in Anim8or. When exporting the model into a 3ds file, Anim8or fills in the necessary lines and splits all faces into triangles. So, when you draw flat faces, don’t bother to divide them into triangles. You can do the same for folded faces, but the result may not please you. For instance, a twisted prop has to twist around a particular line, so it’s better to draw the line yourself.

There are 2 ways of building a 2-sided face. The easiest way is to add extra diagonals to a face. For example when you have a square, draw 2 diagonals in it. The intersection of these doesn’t need a point. Then you’ll be able to fill in faces on both sides. There is a restriction to this method: when using textures on it, the shading will be awful (one exception to this: textures with a PAB extension). Nevertheless, it works very well for parts with only plane colors. This is the method I use for wires (stretched, narrow rectangles). I’ve never seen this on any model made with 3D Studio max, but MCU accepts it without problems.

The second and most used method is somewhat elaborated. First build the mesh single sided, then copy it, paste it and flip normals of this last one. Apply textures to both of them (these can be different). Then select both of the meshes and join solids. This will give you a 2 sided mesh with correct shading. This is how wings, wheels, struts, rudder and elevator were done on all original RB planes. All lines, points and faces are doubled. This gives us an opportunity to make wings, elevators and rudder three-dimensional without adding faces. Just lift some points (not on the edges) of one of the meshes before you join them and the result will be 3D.

Part Naming
(
Contents)

You can use any name for the parts as long as you don’t use the same name twice (even with other extensions) and give them the correct extensions. All parts can be made out of several meshes if all these connect without visible joints. Most parts have a normal, damaged and missing state. Note on these lasts: they are single-point meshes that won’t show up in the game. Draw them first as 2 points with a line in between, give them a name and delete one of the points. (You can’t select a single point mesh, so you won’t be able to give it a name.) Warning: when you delete all points of a mesh, you will get an ‘empty’ mesh. MCU will choke on this. But you can delete the mesh in wordpad (Thanks, Uhlan!). Always make a backup before you change something.

Fuselage, engine, guns: name.aa (or just name, the extension is not obliged)

In most models manifolds and wires also have no extension. The drawback with this is that they won’t take damage. After crashing, they will be floating around the fuselage.

Prop: name.aa to name.az
The first 20 extensions (aa to at) show the starting prop. (prop0000.bmp) This is a 180° sequence; all successive parts are rotated by 9°.
The following 6 (au to az; prop03) represent the spinning prop. Also a 180° sequence: each part is rotated by 30° versus the previous one.
Make sure your prop turns in the right direction. Rotating spinners should have the same sequences. It’s also possible to link effects such as ‘smoke on startup’ with this.

Prop 2: same as prop; used for heavy bombers. name.ta to tz

Landing gear: name.ba to name.bc
The ba extension is for the normal parts (wheels, wheelstruts etc), bb for the damaged parts, bc for the ripped off parts.

Lower wings: made out of 4 sections
left outer: name.ca to cc
left inner: name.da to dc
right inner: name.ea to ec
right outer: name.fa to fc
a=normal part; b= damaged part; c=missing part

Elevator: made out of a left and a right section
left: name.ga to gi
right: name.ia to ii
From elevator full up to elevator full down: f-e-d-a-g-h-i ;b and c are the damaged and missing states.
Don’t forget “name” can not be the same for these two parts, although they have different extensions. It’s customary to give them names as nameL and nameR.

Rudder: name.ha to hi (b=damaged; c=missing)
from full left to full right: i-h-g-a-d-e-f

Upper wing: made out of 3 sections.
left section: name.ja to ji
right section: name.la to li (from aileron full up to aileron full down: f-e-d-a-g-h-i)
name.jb and name.lb are the damaged sections; name.jc and name.lc the vanished sections.

Upper Wing Center section: name.ka to kc (kb damaged, kc missing section)

Outer struts and connected wires: same as left and right part of the upper wing.
This means every strut has 7 exactly the same states for every position of the ailerons.
Note on the damaged wires: it’s common to use a single point mesh for them as well.

Wing radiators and connected pipes, inner struts and connected wires: same as the central section of the upper wing.

Middle wing: (only for triplanes) made out of 4 pieces the same way as the lower wings
left outer: name.ma to mc
left inner: name.na to nc
right inner: name.oa to oc
right outer: name.pa to pc

Gunflashes: 2 guns: name.qa to name.qb for the left gun; name.ra to rb for the right gun. Use only q for a single gun mount.
Here the a-state is a single-point mesh (not visible) and the b-state is the flash.

Pilot: name.va to vb
The a-state is the visible pilot; the b-state is a single point mesh for a pilot who has jumped out.

Gunner: same as the pilot; name.ua to ub

Oil: a-state is a single point mesh; b is the ‘losing oil’ mesh
left oil: name.wa to wb
right oil: name.za to zb

Flames: a-state is a single point mesh; b to i are the flame animation meshes
left fire: name.xa to xi
right fire: name.ya to yi

Materials
(
Contents)

There are 3 kinds of materials. First, the palette colors: named #0 to #255. These are the 256 plane colors used by Red Baron. Second, the RGB colors: you can specify any color by filling in RGB values and giving it a name. For example ‘DARK METAL’ (R=G=B=79) is used in most models. Third textures: these are the bitmaps. They require positioning on the part.

As stated above, Anim8or cannot attribute properties correctly to materials.

After running your 3ds file through MCU, you will have to work on the dml file with Matilda.exe. Study some existing dml files to learn more. Palette colors and RGB-colors should be set to ‘Flat’ or ‘unlit’. ‘Smooth’ will result in a white part. Textures can be set to smooth, flat or unlit.

Transparent, translucent and perspective: most wing, wheel, elevator and rudder bitmaps must be set to transparent or the black portions of the bitmap will be visible in the game. Don’t do this with the fuselage bitmap. Only the propstop bitmap is set to perspective. All textures with a PAB extension must be set to unlit, transparent and translucent.

Applying multiple textures and/or materials is more difficult. More than one texture on a mesh is only possible when you apply it first on 2 separate meshes, and join them afterwards. A good example of this is the wing (different textures applied to top and bottom). When you want to apply a combination of plane colors and a texture, you have to select the appropriate faces in point mode and apply the materials.

Positioning textures in UV mode
(
Contents)

Positioning of the textures is perhaps the most difficult work when building models.

The actual dimensions of the bitmaps used in the game are not relevant. Textures co-ordinates are positioned with relative co-ordinates. So you can stretch, disfigure or slope a texture anyway you want, as long as it covers all the part(s) it’s applied to. Sometimes you will have to rotate the view window before you can position a texture. For instance, when you’re working on a sloped strut, you first have to rotate the view until it’s parallel to the screen edges. For this purpose there is a very handy feature in Anim8or: the arc rotate. It’s not easy to use but surely worth the effort of learning how to work with it.

Before you enter the UV-mode, select the part(s) you want to paint. Always position textures in wire view. (You can change to flat or smooth view but what you see in Anim8or does not correspond to what you see in RB!)

When entering UV-mode you’ll get a yellow rectangle of the same size as the smallest part you’ve selected. The positioning and transforming of the box is done in a similar way as with the arc rotate feature. You can switch between different views in this mode. You even can export the model without leaving the UV mode (Then you can run the 3ds file through MCU and check the result in RB; the dml file is not altered by this operation). Make sure the yellow box is slightly bigger than the selected part(s), or you will get the well-known ‘black lines’ around the edges of your part.

The yellow circle is a tricky one. Try to keep it simple: always begin with your mouse pointer in one of the little boxes. This locks unintentional movements in the 2 other directions. A normal UV-operation should look like this: select the part to paint; enter UV; drag the yellow box with the right mouse button towards the selected part; scale the yellow box with the middle mouse button; repeat these 2 operations until the part is completely covered. Beware of the left mouse button: it causes rotation around the screen’s x (or y) axis when starting in the circle or around the z-axis when starting outside the circle. This is very hard to control. For those without a middle mouse button: you can overcome this with the right button and the Alt-key.

As I mentioned before, you can position textures on several parts in one operation. For example, all the states of a strut or the entire upper wing (UWT and UWB together).

Be careful of the mirrored bitmaps in RB. In Anim8or side view shows the right side, but the fuselage bitmap shows the left side. So rotate the view 180° first. Same thing with the rudder. The best solution for the lower wing is to build the left wing first, apply and align the texture and then mirror the meshes.

Once you’ve positioned the texture, it’ still possible to select and of these points drag points of the mesh. The bitmap co-ordinates of these points however stay the same. If you do this on the fuselage for example, you’ll get a distorted look. Don’t do this! You’ll get the artists all over you. One exception to this: the damaged states. You can get nice crumpled effects when you begin with a copy of the a-state and deform it on purpose. Try to position textures with respect for the work of artists. They put a lot of effort in their work, so make sure they don’t have to start from zip every time someone builds a new model.

Collisions, sorting problems and see-trough effects
(
Contents)

There are 2 different types of collisions. First an actual collision, two parts take up the same area. This is very easy to solve: adjust the position of one of them. Remember that any type of collision can be between any of the different states of the 2 parts, even the single point c-state.

This is a good reason for positioning these points within the a-state and not scattering them around the plane, as I’ve seen in many models. Putting these points far from the center will also reduce the scale of the plane in object preview.

You also can solve collisions by reducing the shrink in MCU, but this is a very poor solution and will result in see-trough effects. The smoothing of structures in RB however, influences the collisions, so you’ll never be able to raise the shrink to 1.0 (unless you have the well-known gaps between all parts; very poor technique). Shrink of an unwired model should be at least 0.85; a wired one not below 0.80. For example, my AlbDVa has a shrink of 0.90.

The second type of collision is between enveloping boxes of 2 meshes. You can not have a mesh that surrounds another mesh, even when there is absolutely no contact between them. Splitting the surrounding mesh in two or more pieces can easily solve this.

Not every collision is as simple as the example above, but the principle is basically the same. The actual splitting is done as explained in the section about N shaped struts. The resulting parts should not be joined and need a different name but with the same extension.

Again, you can overcome light collisions by lowering the shrink. This is done in the case of the upper wings, which to some extent surround struts and wires.

Sorting is determining which faces will be seen from each angle of view, and which will be covered. Sorting problems are sometimes related to very light collisions.

I haven’t figured everything out about sorting, but I can give a few guidelines to avoid problems.

Always begin with the parts in the center, working towards the outside. A good building sequence is: fuselage/ engine/ landing gear/ elevator/ rudder/ pilot/ guns/ lower wings/upper wing/ struts/ wires/ prop. I’ve noticed that when you copy the fuselage of a completed model, delete it and paste it again, the sorting done by MCU afterwards will be all wrong. You will see the fuselage trough wings, rudder etc. This is probably caused because the fuselage isn’t mesh01 anymore, but the last mesh in the model. This is however not always true, it is not a strict rule.

Another good bit of advice is to build every sequence of animation before you continue with other parts. When you build the elevator for instance, build all 9 states of it before you build the rudder. This causes all meshes of this animation to have successive mesh numbers, and therefore making it easier for MCU to solve the sorting. Remember MCU is limited in its abilities. You can of course change the mesh sequence in WordPad to solve the problem, but as stated before - be careful!.

See-trough effects are sorting problems between faces of a particular mesh. When you have a banana shaped fuselage for example, it’s highly probable you will see face A trough face B:

A lot of the models we are using at the moment show such a problem. It’s very clear on models with a head-rest or with the cockpit hollowed out. Some modelers are using firewalls in their model to solve the problem. This is an internal face in the mesh that sometimes solves the problem. It adds faces to the model and doesn’t work in all viewing directions. A better solution is to split the mesh in two or more pieces, as explained in the collision section above. This does not add any faces and in fact improves the sorting and shrink.

When splitting a mesh after texture positioning, you will see a shading edge. If you want the complete structure to be smooth, split first and then apply the texture. This last trick only works for limited angles. When the angle of the two faces is bigger than 5°, you will again obtain a sharp edge instead of a smoothed one.

You can use the splitting method to obtain sharp edges on a fuselage. MCU tends to smooth all edges, even on 90° angles.

(Contents)