Bug 3055 - FR: Skeletal model format
Status: RESOLVED WONTFIX
Alias: None
Product: ioquake3
Classification: Unclassified
Component: Misc
Version: unspecified
Hardware: PC All
: P2 enhancement
Assignee: Zachary J. Slater
QA Contact: ioquake3 bugzilla mailing list
URL:
Depends on:
Blocks:
 
Reported: 2007-03-11 23:04 EDT by vcxzet
Modified: 2009-09-14 19:05:27 EDT
2 users (show)

See Also:



Description vcxzet 2007-03-11 23:04:55 EDT
I know we already have md4 and md3
md3 is not good for animated models
and md4 is hard to export
(not all systems have milkshape nor milkshape runs on linux)
plus md4 does the job but it is not a good format
it would be great to have a skeletal format that is well formed and can be importable and exportable in multi platform modellers like blender
morover format should separate animation and model
ie bone/frame info stays in one file mesh info stays in another

altough ioquake3 doesnt need it It would be quite handy for projects using it
Comment 1 Ryan C. Gordon 2007-05-21 11:21:36 EDT
Setting a QA contact on all ioquake3 bugs, even resolved ones. Sorry if you get a flood of email from this, it should only happen once. Apologies for the incovenience.

--ryan.

Comment 2 Monk 2009-03-23 13:43:33 EDT
This might be more along the lines of what you were wanting:

http://svn.hermitworksentertainment.com/maya2q3/
or
http://gongo.quakedev.com/ (similar to existing MDR/MD4 support in ioq3)

However, for the most support in the artist's program of choice, it's probably a better idea to integrate the MD5 support in XreaL ( http://www.xreal-project.net/ ) instead as MD5 has exporters for 3DS Max, Blender, Maya, GMax, SoftImage XSI, and probably others.  As you've pointed out, animators/modelers aren't huge fans of MD3 and the MD4 formats have very limited options when it comes to supporting tools.  i.e. Milkshape for the version in ioq3, Maya for the x42 format from Hermitworks, and some mostly-working 3DS Max exporters for Gongo's MD4 version.

You could probably get the same broad support using HL2's MDL format and would be able to reuse a bunch of content from HL2/Source based engines/games/mods, but the MD5 stuff is already working in a Q3-ish engine so it would be the easier path to take to get ioq3 to support a more modern format with broad support in various animation/modeling programs.
Comment 3 Zachary J. Slater 2009-05-10 04:56:48 EDT
Yeah so my current thinking on this topic is the unreal format as xreal has implemented it.
Comment 4 Monk 2009-05-10 09:35:12 EDT
You may need to pick Tr3B's brain a bit more regarding the Unreal psk/psa format(s).

April 29th IRC discussion snippet:

[21:38] <megatog615> ...tr3b said psk is very much alike md5 but md5 is better in some technical ways
[21:40] <megatog615> xreal psk doesnt support anims
[21:41] <megatog615> they dont work
[21:41] <megatog615> for player models
[21:41] <megatog615> which is the whole point

So MD5 in XreaL can probably be considered "mature" or "done", but it seems the Unreal support is still in-progress?  megatog615 also mentioned that at least the MD5 support is purported to be "easy" to rip out of XreaL and transplant into ioq3 according to Tr3b.  And because I can never keep track of this junk, for anyone curious:

PSK = Skeletal meshes
PSA = Animations
ASE = Static Meshes (Ascii Scene Export, may support animation but not sure)

I think ASE is some intermediate format, but I see it crop up often when looking for PSK/PSA stuff.  Also relevent to discussion on supported formats:

http://www.katsbits.com/htm/tools_utilities.htm

However, we ought to double-check with Tr3B as some of the forum posts I've seen him make indicate that his PSK/PSA support is good to go.

And I suppose it's not out of the question to support both formats, either, since we'd be getting them from XreaL and probably the same places in code anyway.

Tr3B's comments also seem to indicate that the HL2 model format is more of a pain to implement as it requires some type of preprocessing whereas the MD5 and Unreal stuff is more a "use as-is" thing.
Comment 5 Monk 2009-05-10 10:07:56 EDT
Straight from the Tr3B's irc-mouth:

XreaL does not support PSK/PSA for playermodels, just PSK for (I guess) static models.  Implemented as it was similar to MD5 so it was relatively easy to get some support in XreaL.  However, XreaL's content creators use MD5, so PSK/PSA was never fully implemented for playermodels as there was no need or use.

Another disadvantage (for him) was that while there are several PSK/PSA exporters, they are mostly all closed source.  Apparently the MD5 exporters tend to be opensource.

So MD5 in XreaL is currently the best option as it is the only one fully implemented in the most important reason for adding another model format--support for skeletal animation with broad exporter support as well.
Comment 6 Ryan C. Gordon 2009-09-14 19:05:27 EDT
I'm going out on a limb and closing this as WONTFIX.

Feel free to reopening it when submitting a patch.

--ryan.