Modelling

Modelling, short for 3D modelling, is the creation of three-dimensional objects, so-called (3D) models. This is done by using a modelling suite: a program to create, manipulate and animate these models. These are then exported to different file formats to be used in the id Tech 4 engine where they portray objects and characters.

Model Prerequisites

All models used by the engine must be constructed entirely of triangles. No subdivision surfaces, nurbs, splines, or anything of that sort is supported.

Model types

The engine generally differentiates between static and animated meshes. These two types use different file formats and serve different purposes.

Static meshes

Static meshes are 3D models that are not animated by the use of an internal skeleton. This means that these models do not change their geometry. Even though they are called static they can however still be moved, rotated and scaled by the engine. They are typically used to augment brushwork placed in a map, i.e. details that are traditionally difficult to make with brushwork will often be models. Examples of objects represented in this format are wall and floor panels, crates and pieces of debris.

Static meshes can be used for ‘conditionally moveable objects’; that is, objects that do a specific function in game either by being directly triggered with trigger_ [function] or indirectly using scripted events controlled from an external file; for instance a lift, falling debris or a door.

The file formats that the id Tech 4 engine loads for static meshes are:

. ASE
3DS Max ascii text based format

. LWO
native file format for Newtek’s Lightwave

Moveable Physics Objects

Moveable physics objects are static meshes with the exception that they can be physically interacted with.

These objects require two models. A visual model and a collision mesh both of which are assigned to a moveable_base entity.

To create a collision mesh for a custom moveable

  1. Load your visual model in the level editor as a func_static.
  2. Build a hull of brushes around it.
  3. Texture these brushes with textures/common/collision.
  4. With all these brushes selected, create a func_clipmodel.
  5. Adjust the origin of the func_clipmodel so that it matches that of your func_static.
  6. With the func_clipmodel selected, click Selection > Export > To CM.

Note: When you create your moveable_base entity, it will not need an explicit reference to the clipmodel provided the *.CM file has the same name and is in the same folder as your visual model.

Animated meshes

Animated meshes are allowed to deform themselves during the game. Examples of this type are first person weapons and player models. Animated models should be used within where more complex movements and actions are required than is possible to achieve using triggered models (scripted brushwork), but the use of which type will be dependent on what effect is trying to be achieved; for example a door could be a simple .ASE model which is ‘bound’ to the entity func_door allowing for a simple ‘open’ and ‘close’ action. Or as an MD5 the door could include a ‘lock’ which activates and plays an animated sequence before opening.

Animated meshes use the MD5 file formats unique to the id Tech 4 engine. The format is split into:

. MD5MESH
Low resolution polygonal mesh exported from a 3D application.

. MD5ANIM
Contains animation sequence data, the positions of bones etc. during animation.

. MD5CAMERA
Animated cameras for use in cutscenes.

Note: Animated meshes must have an “idle” animation defined in the model declaration in order to show up properly in the level editor.

Articulated Figures

Articulated figures are what is often called ragdolls. They are systems using the bone structure within the MD5 format to simulate physics by using joints and constraints. They are created by using a .MD5MESH file and an articulated figure definition. Further info on this topic can be found in the AF declaration article.

MD5/LWO/ASE Import/Export Tools

A list of available Modelling Programs can be found below along with the corresponding tools to assist in working with the model formats used by idTech 4 games.

3D Studio Max

MD5(anim/camera/mesh)

LWO

  • Add Links Here

ASE

  • Natively supported.

Maya

MD5(anim/camera/mesh)

LWO

  • Add Links Here

ASE

  • Add Links Here

LightWave 3D

MD5(anim/camera/mesh)

LWO

  • Natively supported.

ASE

  • Add Links Here

Modo

MD5(anim/camera/mesh)

  • Add Links Here

LWO

  • Natively supported.

ASE

  • Add Links Here
  • Exporter (Should export .ase file that works with Doom 3 as well as UE3.)

Blender

MD5(anim/camera/mesh)

  • importer (by der_ton) (needs both, md5mesh + md5anim files)
  • exporter (by der_ton)
Note: Enemy Territory: Quake Wars only:
In ETQW the md5anim files were compiled to binary animb files and md5anim files were not included in the SDK.

You may however convert the binary animb files from the animb folder (which is inside the generated folder inside the official pk4 game files) to md5anim files with animb2md5anim .

LWO

  • Natively supported.

ASE

XSI

MD5(anim/camera/mesh)

  • Add Links Here

LWO

  • Add Links Here

ASE

  • Add Links Here

ZBrush

MD5(anim/camera/mesh)

  • Add Links Here

LWO

  • Add Links Here

ASE

  • Add Links Here

trueSpace

The trueSpace website is gone, but the software can be downloaded from Mod DB .

MD5(anim/camera/mesh)

LWO

  • Add Links Here

ASE

Game polycount budget

A polycount is the total number of individual polygons a model is made up of. These are usually limited for performance reasons as each triangle adds to the total rendering time for the model. For gaming engines the required count is that of triangled faces (so called tris’).

Q4 Q4 Guidelines

The information in this section is specific to Quake 4 .

The following numbers are rough guidelines based on the numbers taken from the Quake 4 models. These numbers had been generated by importing different models and using the modelling software to list the amount of triangles.

  • 1st Person Weapon Total: 2000 - 2800
    • Both Arms: 1300
    • Weapon (Faces not visible deleted): 700 - 1500
  • 3rd Person Player Total: 2500
    • Player Body(Without Gun or Head): 1500
    • Player Head: 600
    • Player Head_up (high LOD model?): 800
    • Player World Weapon: 200-400

Static models in Quake 4 may be moved/rotated along a path defined by a .playback as a func_playback.

See also