I've written a few model loaders from scratch over the years, but I always run into a snag when trying to import models using different plug-ins for different editors. For example, just when I think my MD5 or OBJ importer works, it'll crash my game when I try importing a model from one of my modelers if they don't use the same DCC tool with the same version of the same exporter I use. Same with MD5 and X...
I've been able to write a model loader that'll load up Half Life 2 maps (when converted to OBJ), and my MD5 loader has been able to load, render, and animate DOOM3 models, but still, I run into compatibility issues, and I haven't been lucky finding MD5 exporters for DCC packages my modelers use.
All of these file formats are text-based formats, and if the text formatting is off by a little bit, I'm in bad shape. I believe my text parsing skills aren't that great. I've thought about using ASSIMP to get around this or writing a COLLADA importer from scratch, but that seems overwhelming to me. Does anyone know of any good C++ text-parsing tutorials that I could read to improve my text loading skills?
Also, what model formats would you recommend? I've thought about FBX, but it looks like an in-depth file format similar to COLLADA.
Also, are there any good tutorials out there for handling animation blending? I've looked around and right now, I have it setup to where my MD5 models can have 2 animation channels playing at once, and each channel can transition between animations, but I still get weird issues when my characters go from walk to stand, etc.
EDIT: Btw, it looks like Autodesk's FBX model format is more like a next-gen version of Microsoft's X format that's no longer supported natively by Direct3D (deprecated in DX10). Instead of using curly braces, it uses an XML-based format. Has anyone succeeded in writing a pretty stable importer for this without having to use the Autodesk APIs?
Edited by Vincent_M, 12 January 2013 - 10:37 PM.