model loading

Started by
3 comments, last by Nanook 12 years, 5 months ago
I'm learning how to load and animate characters in OpenGL. I've created some models in blender and I can export then as any one of the following:

Collada (.dae)
Stanford (.ply)
Stl (.stl)
3D Studio Max (.3ds)
Autodesk FBX (.fbx)
Wavefront (.obj)
X3D Extensible 3D (.x3d)

I was wondering what one in general would be best for game development. It seems that it is popular to create your own format for your own purposes.
I haven't really gone about figuring that out. Right now I'm trying to learn how to load and get a walk cycle working.

I've read that:

.obj is only good for loading static models and even then it can be very large.
.3ds is messy and difficult to work with and isn't really good for getting animations

The other ones I haven't really heard much about besides .dae holds stuff in xml format.

Honestly at the moment .fbx is sounding the most appealing to me. I'm new to this so I'm not sure which I should go with.
Advertisement
All the formats I recognized there are text formats, so I wouldn't recommend any of those for direct consumption by your game. Your models would take up more space, and even with compression, loading them would take much more time since you have to parse every model, every time you load it. I recommend you figure out what layout your model data is going to be in when it it used by your game, and store it exactly like that, as binary data.

All the formats I recognized there are text formats, so I wouldn't recommend any of those for direct consumption by your game. Your models would take up more space, and even with compression, loading them would take much more time since you have to parse every model, every time you load it. I recommend you figure out what layout your model data is going to be in when it it used by your game, and store it exactly like that, as binary data.


http://www.gamedev.net/topic/607948-models-in-directx-10/page__pid__4845655#entry4845655
Wisdom is knowing when to shut up, so try it.
--Game Development http://nolimitsdesigns.com: Reliable UDP library, Threading library, Math Library, UI Library. Take a look, its all free.
I've decided to use the FBX format for my game engine because FBX is pretty universal and supports many features. Additionally, there is a separate forum on the autodesk website to help you out if you run into problems when using the format: http://area.autodesk.com/forum/autodesk-fbx/

My work flow is this, I export my models from Maya using FBX and then I load the FBX file into a parser program that I wrote. This program basically takes all the useful information out of the FBX format and packages it into my own game engine file format. It is this custom format that I then use in my engine.

I do this conversion step once per model so that I don't have to have the FBX library compiled into my game engine and if there are bugs in the FBX code, they will not effect my game because I exported all the data out of FBX and into my own format.

If you are interested in the FBX parser code that I'm using have a look here: http://www.marek-knows.com/phpBB3/viewtopic.php?t=353
How about the md formats? md2 if you only need keyframe animation or any of the above if you want skeletal animation.. I used md2 for a uni project and its relativly simple to use.. For my new project I'm planning to make my own format instead :)

This topic is closed to new replies.

Advertisement