Pure3D Kabul Streets Experiments
Pure3D just released an asset pack of very nice quality. I always complain about not having enough assets to test my graphic pipeline so I jumped on the occasion.
Note: I might rant a bit on the sorry state of the 3D interchange formats.
First, let me tell you, those assets are a damn fine work of art, stop by the Pure3D website they have more in store. Okay the screenshots on this page are small but I bet you can tell it seems to look good already. Well, there's only the diffuse maps in them because, unfortunately, the normal and specular maps are not provided.

Impressive for just a diffuse map.
(and a bunch of post-processes...)
Update 09/27: I had a quick response from Pure3D, it appears that the specular map is encoded in the normal map alpha channel and that the normal maps are provided. The only problem is that neither I or the FBX importer can seem to find them. So, there probably will be a follow-up to this post in the coming days.
OBJ Saves the Day
Of course, FBX and Collada just cannot cut it. Really, exporting a simple mesh with a set of maps is way beyond those two projects. FBX will provide material informations for only the first few polygons of each mesh and Collada just skips them completely. How nice!
Now, what if... we had a very simple format for the common usage case. Most games only care about a few UV stream, normals, tangent, etc... Why do we have to drag hundreds of kilobytes worth of code for that is way beyond me. I have stood beside my trusted LWS/LWO loader way too long before switching to the 'modern' formats but every time I have to use them I am reminded why it took me that long.

How could have I thought I would one day be grateful for having OBJ...
How far did we fall?

At this point you might wonder if I spent a full afternoon reassigning each texture to each material on each mesh? Well no. I wrote a full-blown OBJ importer complete with groups and material support. And it works! I can drag'n'drop the source object file on the editor window and the mesh displays as it should just as you can see in those screenshots.
The pain of 3D
So, it works... almost. Some meshes have their normals screwed. I suspect that this would be a non issue if I had the normal maps so I did not spend a lot of time investigating a potential bug. Instead I used the geometry viewer to recompute the normals from the editor. So yes, obviously a lot of these meshes suffered very badly of this manipulation and it threw the SSAO completely off in some places because the algorithm used in GameStart uses the normal in its calculations. That's why there's almost no SSAO in those screenshots.
Conclusion
This was a really useful experiment, GameStart now has a decent OBJ importer for the desperate cases like this one which is no luxury since using FBX, or worse Collada, almost always leads to desperation.
I intend to make a video tutorial on how to recreate this scene from the source assets only. This should be a good "real life" example. Oh, by the way, 3DS Max and Maya both cannot properly import those FBX and Collada files but this is really not a surprise!

Go GameStart!
Those oranges would look so much better with a normal map.
- Emmanuel Julien's blog
- Log in or register to post comments
Comments
François Gutherz
Mon, 09/27/2010 - 19:49
Permalink
Now this really looks ace, especially if one consider it was imperfectly converted !
Good thing you added the Wavefront OBJ file format to GameStart.
[rant]
For a long time, OBJ has been a reliable format, and without its historical shortcomings I would never had switched to FBX.
For static geometries, OBJ mainly lacks a secondary UV channel and Vertex Color data
Now, as you stated, there is no reason why, in 2010, FBX is not yet able to reload the data it previously exported. However, considering the origins of FBX (a profesionnal solution to replay Lightwave 3D's content), its core SHOULD have been built to handle materials properly :')
Furthermore, according to my latests tests, FBX still proves unable to export per-polygon vertex color data. In the best situation, it will blur everything ... in the worst case, the result just looks inconsistent
Autodesk, if you read this...
[end-of-rant]