To compile my projects you'll first have to install a bunch of components. I probably forgot to include the newest GLVisir stuff in the latest OpenZone, and there are other components you will need as well. I get on IRC from time to time -- If you find me there I can try to walk you through it and I'll try to be more diligent in what I include in OpenZone for the next release. I use Delphi 6.0 Professional to compile OpenZone, which you will need since it uses the TActionManager class. The other projects will probably compile with the standard version of Delphi.
I sent an Anim8or .an8 model to KhaN hthat has an elf model I made, that is rigged to a skeleton that meets the requirements of in-game models (i.e. it has the necessary bones). Basically, for monster models there is usually only one polygon mesh and you can texture it any way you want. For player models (models that can have different kinds and pieces of armor on) the model should conform to a specific format:
- 4 separate head meshes, one each for plain, wearing leather, wearing chain, and wearing plate, respectively
- At most 2 body meshes, one for plain and one for robed, respectively (though races that never wear robes can get by with just one body mesh)
- Skeleton conforming to the one I sent KhaN
- Separate texture files for each bone/body part. For instance, though there is only one body mesh, the bicep and forearm use different texture files. This is how the game allows players to mix and match what they're wearing. A tint is then applied to the polygons at rendering time to create more variations. Textures are usually uv-mapped using standard cylindrical mapping, which allows just about any texture in the game to be used.
Basically the client looks at the material settings for a player/mob and selects the appropriate head mesh, body mesh, and textures. As for animations, once we have a model of a certain type (say, a humanoid of normal proportions) and a full set of animations for it (there are about 30 in total) then we can just copy those animations to any other models we make with similar proportions and skeletal structure. The major hurdle for me has been getting source material to convert.
Some mob models deviate from this in that they have different head meshes like player models, but not for the purpose of showing different kinds of armor. The cyclops/hill giant/fire giant is a good example: they use the same body mesh, but have different head meshes and texture sets. The "texture" and "helmtexture" are what select the meshes and textures for NPC models, whereas for players they come from their equipment. In this vein you can really have as many different head meshes and texture sets as you want for NPC models, one for each variant that you want, but apparently only one body mesh.
|