Jump to content
  • Advertisement
Sign in to follow this  
bronxbomber92

MD3 file format

This topic is 4023 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hey, I just finished a MD2 loader/renderer and a OBJ loader/renderer, so I want to give a go at MD3 (should be fun dealing with the animation :)). Anyways, I can't really seem to find much documentation on the format. Besides this: http://linux.ucla.edu/~phaethon/q3a/formats/md3format.html is there any other docs on it? Thanks

Share this post


Link to post
Share on other sites
Advertisement
That's a pretty thorough description of it. Especially if you're already familiar with MD2, it should make some sense. Is there a part of it you're hung up on?

Share this post


Link to post
Share on other sites
That's pretty much all the information you'll need to know.

Keep in mind that if you're using a PowerPC Mac you should also pay attention to endianness [smile].

Share this post


Link to post
Share on other sites
What I'm mainly confused it, the animation (is it keyframe, or bones?), what tags are, and how the model is actually composed of several different models and file (what is .cfg file, the .skin, .shader). I can give a guess of the purpose of the file, but how they're actually used and the specifications, I have no clue.

Thanks,
Bronx

Share this post


Link to post
Share on other sites
- Keyframe animation
- Tags align different model pieces (i.e. tag_torso on head.md3 and tag_head on upper.md3 will line up...it's more complicated but that's the general idea)
- animation.cfg is a list of animations and their relevant frames (the file is commented)
- skin files I'm not quite so sure on, but they're simpler.

You can look at the quake 3 source for more information if you're patient.

Share this post


Link to post
Share on other sites
The loader is mostly in renderer/tr_model.c (R_LoadMD3) and skin files in renderer/tr_image.c (RE_RegisterSkin). Most of the remainder is spread throughout cgame, but you'd probably be interested in the tag functions (CG_PositionEntityOnTag in cg_ents.c) and animation (there's a whole chunk of cg_players.c labeled "PLAYER ANIMATION", those should be the most helpful functions).

I understand that the Q3 code can be complex, but it's probably the best resource for understanding how MD3s should be handled. [smile]

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

Participate in the game development conversation and more when you create an account on GameDev.net!

Sign me up!