Originally Posted by malcolm
Hi Alec, I still don't really understand what this tool is used for so perhaps you can explain. Our artists use Maya and our game engine uses the normals it gets from Maya, I think you guys call this synced with the engine. So does this tool help us? And what is the big deal with syncing the engine to Maya this seems like a no brainer, why would you not do this? UDK now has a tick box to use the tangents and explicit normals from your mesh. Again why would you not do this by default and why did it take UDK 10 years to add this feature.
So from an artist standpoint what you want is to bake a normal map and not get shading errors (or minimize them to the extent possible in that engine). To actually achieve that goal there are a lot of things that need to be done the same way between baking and displaying the normal map. Off the top of my head:
1) Normals need to match
2) Mesh tangents need to match
3) Tangents need to be interpolated across a triangle the same way. You can have correct tangents at each vert but you will still get errors inside the triangle if the interpolation doesn't match
4) quads need to be triangle stripped the same way
Some of this can be passed around with the file exports but the interpolation cannot. handplane is designed to recreate all of this behavior so normals, tangents, and triangle stripping doesn't need to be saved into your files. From a workflow standpoint passing this data around can create huge headaches. A few scenarios where this can be a problem:
*A freelancee artist works in 3dsmax and bakes his object in xnormal using max tangents/normals. Later, an in-house artist using maya re-exports the model. The shading will break. In this case the only solution is either passing the model back through max or re-baking from scratch.
*Anyone exporting their files from 3dsmax who isn't running qualified normals in the viewport will get the wrong tangents. Not sure if nitrous affects this but I would suspect running the nitrous viewport would also output the wrong info.
*Unreal only supports imported normals and tangents with static meshes. Anything rigged will not work (so characters, guns, vehicles...).
I would also point out that if you are using xnormal, in the past (haven't done this in about a year) baking with a maya sbm or FBX did not produce a correct maya normal map. That is either just the interpolation not matching or there is something else missing from xnormal's handling of the data.
In addition to all of these issues, and the fact that you can't even pass all the necessary info in the files, it's a much more fragile workflow with dependencies between 2 or 3 applications where there are a lot of failure points. Tracking down where the problems are originating from is very difficult. handplane is the opposite approach. Any artist can get a correct normal map for any of the supported engines from any combination of tools that can make an object space normal map and correctly send the mesh, smoothing splits, and uvs to our tool. The normal maps handplane makes are actually correct for the behavior of the target engine, no dependencies.
There are also a bunch of other uses for the tool related to correcting projections but that gets more complicated.