I couldn’t find a good tutorial on the web explaining how to get normal maps to work perfectly when generated from 3dsmax and imported into the Unity game engine
You see, every 3D application uses its own tangent space meaning that normal maps that might seem correct in your 3D application don’t appear correctly in other 3D engines.
So after many tries and web searching I came to find what I believe is the best workflow to properly export correct normal maps from 3dsmax to Unity.
Proper normal map export from 3dsmax to Unity:
1. Export the high resolution and low resolution meshes from 3dsmax to *.obj format
2. Import the high resolution and low resolution .obj files into xNormal and change the tb calculator to use Unity tangent space.
3. Bake!
4. Import the bake normal into Unity and change the normal and tangents smoothing angle to 180
There you have it, perfectly looking normal maps in Unity. Don’t forget to make sure the texture type is Normal Map - a small pop-up called Fix it, might appear under the map if you haven’t - and that you are using the correct texture size (default is 1024 for Unity).
NOTE: since we used an external app to get our normal maps, this method applies to other 3d applications, just follow the same steps.
or use handplane, its a big time saver
Handplane3d.com
With the main difference being that xNormal is FREE:
Xnormal.net
while Handplane costs: $150 per seat or $50 if you are a freelancer.
Free is a bit cheaper. Looks good though.
Yep, true. From what I understand the best solution is what 3dsmax uses to generate (or render) them, but they didn't even have the same tangent basis in their viewport.
A studio called 3point studios made a nice workaround and they also seem to have figured out how to use this tangent basis in other engines, but a unified solution adopted by everyone would be a lot better.
I guess autodesk will have to lead the way.
dude your second comment appeared as a double post, I deleted one and both disappeared. sorry. I even replied to it.