What does everybody think about this? Since we're supposedly going towards a cleaned-up rendering pipeline, with Child's project, maybe this is a good time to talk about what we actually would like to see in an animated model format.
MD3 is pretty amazing, and might be a good match, because it supports shaders as part of the model format, but isn't a "live IK" format- like MD2, the animations are still static. This factor, imo, means it could be a good match.
I don't personally think we want anything more advanced than MD3, because of the CPU overhead associated with IK solvers, but MD3 might produce really excellent results for games, without making coder's lives difficult- the code for translating / viewing / loading / running MD3, and the animations, is widely available, and wouldn't require doing anything uber-complicated to Spring, other than having some way to have BOS support to tell the game engine when to run animations. I think that could be surprisingly simple to put into the Spring Engine, given that MD2 and MD3 consist entirely of "canned" animations:
Code: Select all
AimWeapon1()
{
if (moving)
{
GET MD2SCRIPT (WALKAIM);
aiming = TRUE;
} else
{
GET MD2SCRIPT (STANDAIM);
aiming = TRUE;
notmoving = TRUE;
DoStuffThatCausesCharacterToStayPut;
}
Sleep HoweverLongAnimationCycleIs;
return(1);
}
http://ioquake3.org - current repository / main location where the Quake3 source, released under the GPL by iD, is being worked on. Probably could get a lot of questions about how to use MD3 in Spring answered there.
http://www.bpeers.com/software/q3ase/ This is a full-featured viewer for MD3 files, including some shader support. Newer shaders have been added to ioquake, but it's still a good, solid tool for people to look at stuff.
Personally, I think that if we used these GPL-compliant model formats, and a very lightweight renderer, we could have just about what we want here, without the giant overhead associated with picking up an engine.