14 years ago on June 15th Gamedev.net was first launched! We want to thank all of you for being part of our community and hope the best years are ahead of us. Happy birthday Gamedev.net!
Hi, I don't have the time to read it all, but I think the following things could be changed:
I don’t want to bore you, so fast forward to today,
(be it the environment I grew up or…the ‘genes’)
For good or for worse though
I know this is how you would usually say it (and I would too if I was talking to someone), but in a letter I think you should leave those out. You sound confident in your skills in other paragraphs and I think these detract from that feeling.
The guy I worked with
Would "partner" sound better? or maybe cite his name.
Hi, I've recently added FBX support to a preprocessing tool, and this is what I think.
If you only want to load models, it's decent. If you just want to load polygons, normals, etc. then you can do it pretty easily and without concerns about speed. It may take some time getting used to the SDK, but support is good and I think it's worth it.
Now the ugly part comes with the animations. In a debug build a file with a single animation can easily take more than 2 seconds*. The humanoid.fbx that comes with the SDK takes more than 8 seconds. In release it's pretty much instant (didn't time it) so it may not really be a concern. I also should mention that some malformed files caused the SDK to crash.
Now speed aside, I went into a lot of troubles because each program likes to export things... differently. Let me explain. At least in the files I used, the animation keyframes in a file exported with version 6 would contain absolute values for the translations and rotations, whereas a file exported with version 7 would contain values relative to the previous keyframe. And even worse, files from Maya have to be loaded differently than files from Max. (see here) **
I wouldn't use it directly in an engine, but that's mainly because I prefer having a private format that I can load safely.
* At least in my experience. Opening the file and calling Import() is what causes the big slowdown. However be advised that my implementation may be faulty and I may be loading more than I should, even if I'm setting most options to false. ** You can avoid this by having the SDK evaluate the complete transformation at a given time.