Quote:Original post by shurcoolQuote:Original post by SiCrane
One thing to note is that many existing tools provide methods for customization. For example, 3D modeling tools frequently can be customized via scripting or plug-ins, often both. So if one doesn't support exporting to a file format you like, you can often write a plug-in to export to your own format.
Just one note, I heard it's better to write a format converter tool rather than an app/version-specific export script. Reasons are that the tool you use may change (different brand, different version, etc.), breaking your export script in the process. Whereas a good converter tool will always do its job and won't require (as much) maintenance in general. And you can always convert between different formats.
I haven't tested that idea myself, but it seems like good logic to me.
You can also have your game engine automatically run the converter tool in the background the first time you attempt to load a resource file in its raw format.
I do this with animations. I export the animations along with the entire skin mesh and other scene data as an .X format file (about 3MB each). When my game attempts to load this file in, it checks to see it's a standard X format file, then runs the conversion tool to strip away everything except the animation and resave the file (down to about 25KB). It also uses some scene objects to compute extra data, like placement/waypoint nodes and collision primitive shapes.