INSECTION is the new 4 player co-op FPS in which you join a rag-tag crew of ex-military adventurers, working on various black ops. Inspired by classic sci-fi action films the game throws you into a dark, but explosively vibrant universe filled with corrupt corporations and an alien species that will rip you apart. The core of INSECTION is killing alien monsters and completing the task at hand using powerful weapons and team tactics.

Post tutorial Report content RSS feed Correct Normal maps from 3ds Max in Unity game engine.

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.

Posted by on - Intermediate Textures

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

Aris Proper normals from max to unity3d_01

2. Import the high resolution and low resolution .obj files into xNormal and change the tb calculator to use Unity tangent space.

Aris Proper normals from max to unity3d_02

3. Bake!

4. Import the bake normal into Unity and change the normal and tangents smoothing angle to 180

Aris Proper normals from max to unity3d_03

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.

Comments
ParsedGames
ParsedGames

or use handplane, its a big time saver
Handplane3d.com

Reply Good karma Bad karma+2 votes
koyima Creator
koyima

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.

Reply Good karma+2 votes
koyima Creator
koyima

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.

Reply Good karma+1 vote
koyima Creator
koyima

dude your second comment appeared as a double post, I deleted one and both disappeared. sorry. I even replied to it.

Reply Good karma+1 vote
Post a comment
Sign in or join with:

Only registered members can share their thoughts. So come on! Join the community today (totally free - or sign in with your social account on the right) and join in the conversation.

Icon
Insection
Platforms
Windows, Mac, Linux
Developer & Publisher
Glasswing Studio
Engine
Unity
Contact
Send Message
Release date
Game watch
Start tracking
Tutorial
Browse
Tutorials
Share
Related Games
Insection
Insection First Person Shooter
Related Engines
Unity
Unity Commercial
Related Groups
Glasswing Studio
Glasswing Studio Developer & Publisher with 2 members
Unity Devs
Unity Devs Hobbies & Interests with 1,585 members