The problem is this: when I view the object from the light’s direction, normal map works great. But when I look from near the side (look at object vector and light to object vector are near perpendicular) the object appears to be too black! This shouldn’t be a shading issue, I’ve tried many different shaders… It just seems that the normal vectors get somehow messed up. Is something wrong with my normal map colors?
You can see this problem even in this example file:
http://download.blender.org/demo/test/normalmap_tangent.blend
When you look the head from the side, the back of the head seems to be grey. But when you render from behind the head (and light) the back of the head is completely black. Normal maps aren’t supposed to work this way! Is Blender handling the Tangent space right?
Please help me, I’ve tried everything to get this to work…
bump
In my despair I have acted hastily and blamed Blender too easily. Most likely the problem is with the user (me). If anyone has any ideas what is causing this phenomenon, I would really appreciate your help. This work is a part of school project which deadline is on 14th of January, so I’m in a bit of a haste.
Oozie,
Normal maps are for the mesh itself, allowing more detail out of less vertices. Your problem looks like it stems from not having a proper light set up for your desired output - try setting up some spot lights or hemis, or even some of those and a sun lamp - my point is that mesh is gonna get dark with only one lamp involved. The default setup is rarely good enough for a render of an value - you’ll need to experiment, and maybe it would pay to read up on as much as you can from the wiki or the search function here. Also, the colors of your lighting can get you different moods.
Looking great, can’t wait to see the results!!
Craigo
What version of Blender are you using? Versions of Blender 2.42a or earlier do not support tangent-space normal maps, only object-space. You can download a release candidate of v2.43(RC1) from blender.org, which does support tangent space. Make sure in the materials->Shaders panel for your landscape you activate the “NMap TS” button.
Thanks for your reply Craigo!
In the picture below is a render without normal map. Even with only one light the diffuse component is enough to light the whole mesh. The normal map should add additional detail to this render. It does that yes, but it also makes it too dark when viewed from the side.
I don’t have this problem when I view my model and normal map with xNormal program (it also has only one light by default). I believe that there has to be something wrong with my normal map settings (I think I’ve tried everything) or with the Blender tangent space handling.
As a temporary solution, I baked my diffuse map using the normal map. That looks ok, but I still would like to know how to get my normal maps to work properly.
-deleted by user-
Ah, that pretty much solves it, thanks! I have Blender 2.42a you see.
Now if there was some way to convert my tangent space image into object space image… I don’t want to do the Normal map creation again in Maya, it takes too much time.
As I understand, it’s not a very complex calculation, but I think my current coding/Maya node handling skills are not up to the task. Does anyone know a program for this…?
Oozie,
Cool pic! I’m glad you got your answer from somebody who knows about that stuff - I like to learn something new every day, and I guess this is today’s lesson!!
Is this for a game map,then? This solution is for keeping your poly count low, yet maintaining the realistic environment for effect I take it.
I wil have to look into this for my animation environments!!
Craigo
Try this:
http://www.blender.org/cms/Normal_Maps.491.0.html
and this:
http://www.blender3d.org/cms/New_Render_features.774.0.html
and this:
http://www.blender3d.org/cms/Render_Baking.827.0.html
Thanks RamboBaby, I was able to bake the Tangent space image into Object space normal map with the beta release.
Craigo, this is actually for a short animation. I believe that normal maps are commonly used also in animation, because they cut down the rendering time. I’ll make a post in the finished work forum section, when our job is done after a week or so.
I don’t know what the exact solution was in this case, but normalmaps don’t work properly for all normal maps, it depends on how the colors are mapped. Sometimes the red and/or green channels are inverted, and then no amount of tweaking will make it work. You could try inverting either the red and/or green channels in an external image editing program to see if that would work, though of course this should really be possible directly in Blender as well.
According to the documentation the devs have fixed the normal map problems for the upcoming release.
You probably misunderstood the docs. It only mentions that tangentspace normalmaps are now supported, but as I said above, it still has issue’s that are not fixed yet. Not all normalmaps render correctly, and if the uv coordinates are not continuous it also won’t work properly either.