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
the new meshes are created in new layers so
that the original mesh can be used as a reference for size,
shape and orientation
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.
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.
Select cut and paste the mouth. Model the mouth open and
MakeUVs again on ballUV.
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
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.
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.