Modelling

From modwiki

Jump to: navigation, search

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:

.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 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

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 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

Personal tools
Main
id Tech 5