Modelling
From modwiki
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 Doom 3 Engine where they portray objects and characters.
Contents |
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 Doom 3 engine loads for static meshes are:
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 Doom 3 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.
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)
- Add Links Here
- 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)
- Add Links Here
- LWO
- Natively supported.
- ASE
- Add Links Here
Modo
- MD5(anim/camera/mesh)
- Add Links Here
- LWO
- Natively supported.
- ASE
- Add Links Here
Blender
- Blender (Free!)
- MD5(anim/camera/mesh)
- Add Links Here.
- LWO
- Add Links Here.
- ASE
- Add Links Here.
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
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.

