CLINTON'S
Lightwave 3D Plugins
home      
Doom3 Custom Content Creation
lost ball scream
lostBall custom model
 
This tutorial will demonstrate how to use the doom3 lostsoul demon as a basis for a custom model.
Inspired and made possible by Brian Treppaning's video tutorials available at Thingk, Ltd
 
Find the lost soul files
  create a content directory for the doom3 lostBall project
the lost soul is the simplest mesh in the game with only 4 weight maps and 6 bones
the lost soul files can be found in pak002.pk4 in the base directory of doom3
rename pak002.pk4 to pak002.pk4.zip so the file can be opened
models/monsters/lost/ has the tga image files, copy to the images folder
models/md5/lostsoul/ has the mesh and animation files, copy to the object folder
rename the file back to pak002.pk4 when done extracting the files
  pak000.pk4 contains the def, material and script files
def/monster_flying_lostsoul.def
def/monster_default.def
script/monster_flying_lostsoul.script
script/ai_monster_base.script
materials/monster.mtr
copy these the the lightwave object folder
   
Load the mesh into modeler
  load the lostsoul.md5mesh using the MD5_MeshLoad plugin
there are 3 meshes for the head, fx and teeth
6 bones and 4 weight maps for the head, jaw, left and right brows
note to self
"_b" is height map
"_local" is normal map
"_s" is specular map
"_d" is diffuse map
the height and normal are combined together into the material bumpmap

note that the mesh loads facing in +X,  the hellknight mesh loads facing +Y
in both cases +Z is up
Create new custom meshes in new layers
  ball
  the new meshes are created in new layers so that the original mesh can be used as a reference for size, shape and orientation
   mouth  ball fx mesh
  The custom mesh is just a ball with a section copied for the fx layer and an indentation for the mouth.  The teeth from the original mesh will be used for the final export later.  The ball is in the lostBall layer.  The fx layer is called lostBallFX.  Surfaces assigned are lostBallS and lostBallFXS.  The uv maps will be named ballUV and ballFXUV.
  endomorph  ball uv
  After modeling is complete create an endomorph called "UVMapMorph".
Cut and paste the face and planer map it in X using MakeUVs, name it ballUV
Do the same for the back of the head but make it smaller. 
  cutout mouth open mouth
  Select cut and paste the mouth.  Model the mouth open and MakeUVs again on ballUV.
  final uv  vertex maps panel
  Adjust all uvs to fit and create a new uv map for the lostballfx.
Now delete the endomorph.
Open the Vertex Maps Pane, rt click the UVMapMorph and delete it.
Paint Shop Pro: be sure uv's go all the way to the edges of uv space otherwise size may change when imported into PSP
  eps export change 6 to 8
  Press "m" to merge all the points that where "cut in half"
export an EPS files, view=TextureUV, size 8x8 inches
load into paint editor at 64 dpi to give a 512x512 pixel image
create the diffuse image and save it to the images folder as a tga file, "lostBall_d.tga"
create a smaller 128x128 version and save it as "lostBall_ed.tga"
Weight Maps
  The lostsoul has 4 weight maps.  Look at how the weightmaps are assigned to the original mesh and use that as a guide for applying the same weight maps to the lostBall layers.
  head weight  jaw weight
  After weights are assigned save the model and load it with it's bones into layout for testing.

Inside Layout:
autokey needs to be on and active
select the object and run MD5_BoneLoad
(utilities tab, plugins, generic, Generic Plugins, MD5_Bone Load)
load the bones from "lostsoul.md5mesh"
select all bones of the current object and "r" to rest them

If deformations look good in layout go back to modeler and delete the layers for the original mesh(except the teeth) and save final model file.
 
Next step - import the mesh to the game