hi folks,
this is for tech people, an experimental plugin I did a couple years back to output different tangent space normal map's from 3dsmax baker. The idea was that the quality normals modifier implements "known" tangent spaces from games such as Crytek, and therefore allows easy and synced authoring for an engine (3point shader for display, 3point baker for baking).
plugin binaries should work up till 3dsmax 2011, also comes with source code in case anyone wants compile for a newer version.
http://www.luxinia.de/download/3pointbake_experimental.zip
It is not a product as such, and just a modified version of the default 3dsmax bake plugin. Please consult the readme for more details.
This is not meant for regular "artists", but technical folks to check if they can improve bake quality for something like UE3. Due to time constraints there will be no support whatsoever from me on this.
The plugin makes it possible that you enable/disable per-pixel normalization of tanget space (DONE by default it max, but afaik not done in various games, such as UE3). And furthermore it allows to feed an entire "own" tangent space, overriding max's as UVW-channels (same trick the 3point shader/quality normals combo uses). You could even script this by generating the uvw data according to tangent-space and especially per-vertex TS merging rules for a specific engine.
I'd be very happy for feedback, especially if someone is able to "convince" their tools/tech people to sync tangent space to their engines with this. Should save lots of dollars in the end

I've also pushed the topic on a blog once more
http://pixeljetstream.blogspot.de/2012/06/tangent-space-can-cost-extra-money.html
Replies
C'mon guys, show this stuff to your TAs.
Thanks for sharing!
thanks for sharing crazybutcher!
Bungie's own engine doesn't sync tangent basis to MAX, their most popular tool?
But if this can help us like 3Points Modifier does, where we can have a box and get nice normals, without having to smooth group break things, or add chamfers, that would be nice.
Really common with most engines actually(not being synced). Its not really been an issue that a lot of people were aware of until recently. Most people just assume nasty smoothing errors are "how normal maps work".
Well, if you can't get accurate shading like with 3pshader, then it isn't synced. =P
Synced doesnt mean "the game won't crash when you load a normal map from max", it means its synced to the exact tangent data and you get the same results from baker all the way to in-game. When you have a synced workflow, smoothing errors will disappear in about 99% of cases(the other 1% being really specific situations where the NM can't account for the extreme shading).
When you have a synced workflow, the only things you need to worry about are compression and resolution based artifacts.
Theres is a broad industry wide misconception on "compatible" normal maps with regards to various bakers and engines. When you read "X engine is compatable with Z baker" 99% of the time all that is referring to is the "swizzle" or "handedness" of the bakes. Every baker can generate normal maps that will "work" in every engine(not including world/object space).
The greater problem here is that artists/TAs/programmers think that because they're using the right handedness or some other way to deterime compatability that they've done everything correctly and no improvements can be made. But the sad reality is that virtually every game engine is not synced, and artists waste a massive amount of time and resources(verts, tris etc) tweaking and correcting for broken tangent spaces, when in most cases simply fixing the exporters/rendering code/etc to synchronize the tangent bias will save so much time and so many headaches.
There are some engines like UDK that do weird optimizations that make it very hard/impossible to do properly synced tangents, but most other engines should be perfectly capable.