What is your preferred 3d format?

Started by
18 comments, last by Daaark 11 years, 8 months ago
Thanks Daaark for your response. Where is a good starting point of learning a scripting lauguage (python I think) for dcc programs?
Advertisement
Start reading at the official Python site. Just make sure you are reading about the right version.

http://www.python.org/doc/

After you have the basic syntax down, just read the Max documentation to see what their specific API is.
I actually have bought full training videos from autodesk at US$600 about 6-7 years ago.
Then it looks like you're all set...
WHat model format you want to use may depend on what game engine or framework your using. XNA still natively supports .X files. .obj, .dae and .fbx come up aswell. I believe .fbx was intended for transferring between different DCC's rather than straight usage though
I find that using standard formats are overkill for use in games. Very few professional games use collada or x files. You want your data to be read quickly so I prefer chunk based binary formats. A lot of games like dynasty warriors use chunk based formats. Many games like any using Sony phyrengine use a binary scene graph format. Hyper dimensions neptunia also uses scene graph based format. Many games like saints row the third use flat binary files. Use whatever you want just be sure you can read the data fast.

I find that using standard formats are overkill for use in games. Very few professional games use collada or x files. You want your data to be read quickly so I prefer chunk based binary formats. A lot of games like dynasty warriors use chunk based formats. Many games like any using Sony phyrengine use a binary scene graph format. Hyper dimensions neptunia also uses scene graph based format. Many games like saints row the third use flat binary files. Use whatever you want just be sure you can read the data fast.


Definitely agreed. Two objectives of a good model format for games are to get the data in fast and have it already in a format, or close to a format, that's suitable for sending directly to the GPU via a draw call.

Direct3D has need of instancing, but we do not. We have plenty of glVertexAttrib calls.


WHat model format you want to use may depend on what game engine or framework your using. XNA still natively supports .X files. .obj, .dae and .fbx come up aswell. I believe .fbx was intended for transferring between different DCC's rather than straight usage though
XNA doesn't actually use any of those formats. The Content manager compiles them to a new format at compile time. It also take all your images and compiles them to DDS.
I prefer FBX. Though FBX SDK is a pain to deal with. You can even password protect your FBX files

I prefer FBX. Though FBX SDK is a pain to deal with. You can even password protect your FBX files


FBX is an interchange format. It was made to help standardize moving large complicated scenes between the big programs.

In a game you want a quick, lean format that easily maps to your own data structures. You can't do that when you are opening up big bloated files, parsing them, storing them in their own data structures, and then slowly transforming them into your own data structures. It does nothing but waste memory and processor cycles. You're digging through a giant haystack trying to find useful bits.

The same thing happens with image files. That's why uncompressed TGA and DDS became standardized. With TGA you just read the header which told you how big the file was, allocated that much memory, and just dumped the rest of the file directly to ram. Writing them was just as simple.

DDS is even better to load, just dump it straight to the GPU in it's compressed form.

This topic is closed to new replies.

Advertisement