lightweight 3d model format with bones?
category: code [glöplog]
I'm looking for a lightweight fast model format to use with an iphone game i'm making. I wanted to use md2 but my artist is only comfortable with maya, and it seems difficult to convert animations with bones to md2. Anyone know what would be a good model format to use or suggestions where I can read more about this stuff? It seems like a lot of game engines use some kind of custom format.
There's no response here because there is no nice answer.
Welcome to the content pipeline. This will hurt more than just a little bit.
Welcome to the content pipeline. This will hurt more than just a little bit.
Off the top of my head, maybe the .mdl format used by Half-Life? IIRC it's very similar to .md2 due to HL1's heritage.
I've heard (from kusma when we were drinking, so whos to say its reliable :)) assimp is a good way to go - then you can pick a format which supports the features you need.
personally though i wrote my own maya exporter to lightwave lwo&lws. cos im cool like that.
personally though i wrote my own maya exporter to lightwave lwo&lws. cos im cool like that.
Write your own exporter:) A while ago I wanted to add animated model format support to my engine, and after reading the MD2 format specs, I ended up in witing my own export plugin for blender. MD2 is outdated and not precise enough.
PowerVR POD format has exporters for 3DS Max and Maya and a Collada converter, and has geometry optimization steps specifically aimed at the hardware in your iPhone.
I actually solved that by dumping all structures from assimp into a binary format. It wasn't too much hassle for the result, but there can be nicer ways to get it done.
as many already pointed out:
collada -> assimp -> dump what you need
collada -> assimp -> dump what you need
http://deaddeer.free.fr/
BARTOSHEEEEEE
what about VALVEs intermediate .smd and XSI?! basic textured triangles and bones. and should be pretty easy for experienced coders to do a converter/bake tool. I can't think of any more simple than that.
ohh... and... custom btw. ;)
another option would be doom3's md5 format, which uses bones. there's exporters for max, maya, lightwave, etc. the candela guys used it in "fair play to the queen" for example. if you don't like the fact that it's ascii, just write a small converter tool..
Is there any more well known algorithm to generate triangle strips? I'm not sure if my brute force'ish solution is good enough.
sorry, wrong link. http://gameangst.com/?p=9
+1 for the Forsyth optimizer, it's quite brilliant. And yes, using tri strip primitives instead of tri lists isn't that important nowadays, the order of vertices is far more interesting.
As for a generic tristripper, I recommend http://www.plunk.org/~grantham/public/actc/ - but as said, optimizing vertex order for cache is the far more effective solution. Unless you've got a GPU without a post-transform vertex cache, like $CERTAIN_CONSOLE :D
As for a generic tristripper, I recommend http://www.plunk.org/~grantham/public/actc/ - but as said, optimizing vertex order for cache is the far more effective solution. Unless you've got a GPU without a post-transform vertex cache, like $CERTAIN_CONSOLE :D
assimp reads md5 and md5anim without problems, i think it reads valve models but i havent tried.
Thanks for the replies, lots of options it seems like... I'm probably going with the PowerVR POD format since it seems optimized for the iphone gpus and it even has an export plugin for maya. It doesn't seem that popular or well documented but I think it'll do. (and it's probably better than what I could do if I tried a custom format)