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
- Load your visual model in the level editor as a func_static.
- Build a hull of brushes around it.
- Texture these brushes with textures/common/collision.
- With all these brushes selected, create a func_clipmodel.
- Adjust the origin of the func_clipmodel so that it matches that of your func_static.
- 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)
- 3D Studio Max to MD5 Exporter - der_ton
- 3D Studio Max to Md5 Exporter - BeRSeRKeR
- MD5 to 3D Studio Max Importer - der_ton
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
- Blender (Free!)
MD5(anim/camera/mesh)
- 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)
- Add Links Here
- http://www.clintons3d.com/vr/truespace2doom3_scripts.html
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 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.