Starting to Model for TDM
Modeling Software
Most modelers on the team use Lightwave or Blender. Anything that can save in either .lwo (prefered) or .ase format is acceptable, however. There is an ASE exporter available for Blender at the Doom3World forums, otherwise ask somebody in the Dark Mod Forums.
Making the Model
You will need to make, for each individual object:
- a highpoly model. There's no poly limit to this--make it as detailed as possible.
- a lowpoly version of the same size and basic shape (see dimensions below).
The detailed version is used, by Doom 3, or another tool such as ORB or xnormals, to generate a normalmap with all the details on it. This normalmap is then used with the lowpoly model to fake higher detail. See Renderbump for more information on using D3 to generate normalmaps.
- Lightwave: Your model needs to be tripled before being used in game (shft+t), or D3 will spit out tons of warning messages.
- Blender: The ASE exporter will automatically convert all your faces to triangles.
Model and Texture Dimensions
Aim for approximately 5000 polys for significant AI, and less than 500 for most common objects. Generally, objects that might only be used once in a scene (like a well) can have higher polys, but objects that might appear many times (like lights or chairs) should have less than 500. Round objects (vases, plates, etc) should have a minimum of 8-10 sides (depending on the size of the object) to appear fairly smooth. Less important parts of an object (like the legs of a stool) can have fewer sides to keep polys down.
About 200-250 polys is the average for most smallish size props, like weapons or lights. Even our wide bookshelf model is less than 250 polys, so it's not always dependent on size.
If you can do it for less, that's great, but you don't generally need to sacrifice detail just to get a model less than 200 polys.
Texture sizes go in powers of two: 2, 16, 32, 64, 128, 256, 512, 1024, 2048. D3 will automatically rescale TGA textures that are not in powers of two, which could stretch your texture and waste processing time. Note that the dimensions of DDS textures absolutely have to match powers of two, otherwise they appear black in-game.
Naming Conventions
Please give your models a distinctive name: instead of "kstatue1.lwo", call it "statue_knight_kneeling.lwo". The first word should inform the mapper what the object is, and then descriptive words can be used afterwards (not "small_statue" and "big_statue", but "statue_small" and "statue_big"). That will keep similar objects grouped together in the model list.
Where to Save your Model and Textures
Models should be saved in the models/darkmod tree. See Model Folder Structure for specific information about where to put things.
Grid Alignment and Origin
Please make sure your models are grid-aligned (the bottom of the object rests on a grid line in your modelling software). If they don't, it can be difficult to get the model to sit on the floor or other surfaces in the editor.
Re: Origins. D3 uses the origin of the model to determine physics for movement--moveable objects will rotate around the origin when they are bouncing around. Any model that will likely be made into a moveable object (basically any unattached object smaller than a chair) should have its origin where its center of gravity would be.
Large objects that are not likely to be moveables, like desks or wardrobes, can have their origin at the bottom of the object, for easy placement on the floor.
Objects that might be designed to swing or rotate (like a hanging sign) should have their origin at the point of rotation.