- Home /
What makes the Normal Map messed up behind the object?(solved)
I have been trying to get my normal maps working the last few days but something is severely off.
When looking from the direction the light is coming it looks alright but a slight angle from it brings it to complete shadow. Seams are getting insanely exagerated but the main problem is that they are just entirely wrong. here is an example: http://img20.imageshack.us/img20/5701/failcube.jpg
the light is cast from the top right towards the cube from the viewer.
This is the standard Diffuse + Bumped map
This does not seem to be a problem of inverted green channel. I am using tangent space normal maps. I'm thinking theres a setting somewhere I'm missing.
Edit: I finally managed to solve this problem. It seems it was a silly silly problem. The issue was that I have been using DDS files. When I swiched to BMP or JPEG I got a checkbox "mark as Normal Map under the texture in the inspector view. That checkbox doesn't show up when using DDS files. As soon as I swiched that on it worked like a charm.
Have you tested with a normal map you know works? Shouldn't be anything wrong with the shader
Answer by ThermalFusion · Aug 22, 2012 at 12:00 PM
Ruling out that the error lies within the shader, I see two direct causes of this. 1 - The normal map is not properly created, try putting the material on the default unity plane or box and see if it behaves the same, if it does, there's something wrong with the normalmap. 2 - The model is not properly created, this seems more likely as I can see some aliasing in the center of the cube, looks like half a white arrow of sorts. Normalmapped objects require uv coordinates, obviously, but also correct normals and tangents. If these are not properly setup you could run into these problems.
Thanks for the answer.
From doing as you suggest I found that the normal map is behaving as it should on the unity cube/plane. I's odd though as the meshes I import from zbrush/topogun/blender become odd like thins. as if many normals are pointing inwards. They are however displaying correct in the other programs.
Edit: Removed confusing stuff from this comment. If anyone else gets this problem see solution in the main post.