Best 3D model format for a cross-platform project?

Started by
7 comments, last by GameDev.net 19 years, 1 month ago
Hi, I'm writing a cross-platform game in SDL and OpenGL, and I'm trying to decide on a format to use for the game's 3D models. Our modeler is using Blender, so a format that Blender exports to would be best (I'm sure this isn't a problem.) He's also been adding animations to the models, so we need a format that supports animation. I was looking at MD2 (its format is very well documented), but our modeler says that skeletal animation would be easiest for him. Can a model with an armature in Blender be exported successfully to MD2 with the animations intact? Also, my initial reaction is not to use the .ms3d format, because I don't care for Milkshape and the game is primarily for Linux. Sorry, I'm sort of noobish when it comes to 3D modeling/animation...but what format would you recommend? Where can I find code/libraries to load such models? Thanks -matt
Advertisement
Quote:Can a model with an armature in Blender be exported successfully to MD2 with the animations intact?
yes

i cant recommend any formats because i havent used or researched enough model formats

a good list of file formats can be found here
MD2 stores the entire model multiple times as keyframes, between which good model renderers can interpolate easily. If you want a bone-based format, check out MD4.

All of these formats, of course, have the problem that they are id-typically just raw C structures written to a file, which means they're highly dependent on the platform's alignment, byte order and byte size.

-Markus-
Professional C++ and .NET developer trying to break into indie game development.
Follow my progress: http://blog.nuclex-games.com/ or Twitter - Topics: Ogre3D, Blender, game architecture tips & code snippets.
MD4? isnt that some addition to quake 3? what you would want is md5 not only is it ascii, which makes the endian-ness of the platform not matter, but it is skeletally animated and it should have a wider user base, i believe there are already max exporters for it (in fact im almost positive), whereas md4 is a format which exists only in later releases to quake 3 additionally theres no official file format released for it. On a similar note, where the hell is the quake 3 source code? ;-)

edit: ah, blender? i dunno

hope that helps
-Dan
When General Patton died after World War 2 he went to the gates of Heaven to talk to St. Peter. The first thing he asked is if there were any Marines in heaven. St. Peter told him no, Marines are too rowdy for heaven. He then asked why Patton wanted to know. Patton told him he was sick of the Marines overshadowing the Army because they did more with less and were all hard-core sons of bitches. St. Peter reassured him there were no Marines so Patton went into Heaven. As he was checking out his new home he rounded a corner and saw someone in Marine Dress Blues. He ran back to St. Peter and yelled "You lied to me! There are Marines in heaven!" St. Peter said "Who him? That's just God. He wishes he were a Marine."
Quote:Original post by Ademan555
MD4? isnt that some addition to quake 3? what you would want is md5 not only is it ascii, which makes the endian-ness of the platform not matter, but it is skeletally animated and it should have a wider user base, i believe there are already max exporters for it (in fact im almost positive), whereas md4 is a format which exists only in later releases to quake 3 additionally theres no official file format released for it. On a similar note, where the hell is the quake 3 source code? ;-)

edit: ah, blender? i dunno

hope that helps
-Dan


As ademan555 said try to find a model format that uses ascii and not binary. I have coded on Mac and you will have to worry about endianess issues. If you don't need animation .obj are great for this. I think .md2 will have to be byte swapped due to it has ints for variables in the struct...
ASE is a text format as well - If you find any documentation I'd like to hear about it ;) I didn't find any although I heard it's very easy to find out (by looking at it)
ASE sounds interesting as well--we're aiming for cross platform, so endianness and things like that will probably be a problem. I'll look into this as well. Thanks.
Yeah i reccomended MD2 simply because its easy, it will indeed need to be byteswapped. I again, would point you all to MD5's as their ascii so endianness is not an issue, and its a skeletally animated format with exporters already there for max iirc. Hope that helps
-Dan
When General Patton died after World War 2 he went to the gates of Heaven to talk to St. Peter. The first thing he asked is if there were any Marines in heaven. St. Peter told him no, Marines are too rowdy for heaven. He then asked why Patton wanted to know. Patton told him he was sick of the Marines overshadowing the Army because they did more with less and were all hard-core sons of bitches. St. Peter reassured him there were no Marines so Patton went into Heaven. As he was checking out his new home he rounded a corner and saw someone in Marine Dress Blues. He ran back to St. Peter and yelled "You lied to me! There are Marines in heaven!" St. Peter said "Who him? That's just God. He wishes he were a Marine."
The Quake3 source release has been delayed again because the engine is still being licensed.

It's not really fair to sell something and then give it away a short while later.

This topic is closed to new replies.

Advertisement