Tangent space normal map artifacts

When i tried to bake normal map(high poly / low poly cube) to a cube and I got some strange artifacts. I’ve changed specular shader to WardIso just to make artifacts better visible.


Im attaching blend file for further investigation. High poly on layer 1, low poly on layer 2. Both layers must be visible when baking, and normal map texture checkbox must be unchecked on textures tab before baking (if not bake will produce wrong texture).

Attachments

tangent_normals.blend (1.28 MB)

this does not look like a normal bluish map!

did you add some dist

Dist
dist is the maximum height for baking anything higher won’t appear in the final bake image.
Bias
when you bake something, what falls between Distance and Bias is what will be baked. Nothing below Distance, all clipped on Bias level.
Bias towards further away from the object (in blender units)

happy bl

I’ve tried different setups with distance/bias, but with no luck.

before you bake did you need to add a new black image in UV editor then you can bake?
see tut

http://cgcookie.com/blender/2011/04/08/tip-floating-geometry-with-normal-mapping/

happy bl

I’ve used black image.

Still no luck to get it working.

You should get a cleaner normal map if you get rid of all those triangles. For both objects select all faces and X / limited dissolve

Triangles


Limited Dissolve


Dont get me wrong, but hi-poly model should be hi-poly. I’ve flatten those triangles before bake, there is no reason why it should not work, but it doesn’t.

This is what i get with Dist and Bias set to 0, no mesh repairs, no smooth on low poly at bake time, added some lights:


Have you Shift selected both layers before bake? Scratch that, yes you have when i read again.
I see no trace of artifacts on baked map.
Why do you have Shifted Camera on both layers, maybe that’s where artifacts are coming from?

how come you got such a whitish normal map
is it rendered with no color may be!

i did it and i get a nice bluish map

this is the render with color


here is normal map


thanks

In case you don’t know how a normal map works, the purpose of using a normal map is not to affect the color of an object, but only to create the appearance of detail on an object that is applied on top of the existing color and the shading.

See those different colors in your normal map, these colors will tell the renderer to point the normal of that point on the mesh in different directions so you get variations and detail in the shading and highlights depending on the lamps without actual geometry.


Still don’t quite get it, let’s have the Polycount wiki explain how it works (very comprehensive)
http://wiki.polycount.com/NormalMap/

i know that
but look at title of the thread
he had problems baking the normal map
so i was thinking more in terms of making the normal map baking
then you can use it with whatever other maps color texturing

but hope he got it working now

salutations

If you load that normal map in the UV/Image editor window and check the colours you will see some artifacting in the centre of each face that when the light shines on it a certain way giving a rippled effect (see attached image). Doing what I mentioned previously gives a constant colour


With distance 0 and bias 0 i got probably the same result as you (u didnt show specular light) - which is wrong. There are dots and artifacts on normal map, which were not there before, and flat surface artifacts does not go away.



I did another bake. Except mine added scratching there is (almost) zero artifacts at all. And certainly no traces of these hi poly triangles.
http://www.pasteall.org/pic/60516
So check what that Camera copy does at render time.
Edit: I have deleted yours and set one on 2nd layer only.

This is the normal map I get. Also set the baking split option to Automatic


Ok. My bad… Specular in face an this reveals SOMETHING which is not present in normalmap.


I did subtract blue background sampled in one spot from the rest. There is no visible traces of what’s seen in render.


So what is it or how to find it in the normalmap correctly? Some kind of reflections?
Confused too…

Edit: btw, this is b/w version curved so that artifacts are better seen http://www.pasteall.org/pic/60519

You are getting good result, but you have turned high poly mesh to low poly (by merging all triangles on flat surface into 1 big face). It is not the solution to the problem - it shouldn’t matter from how many triangles your flat surface is made as long as it is flat and got normals pointing in the same direction.

Eppo that artifacts are on your normal map, just use some soft with color picker, u will see differences in color values - for example some pixels have red color 127, and some 128.

The problems here do seem to explain why no one really uses Blender’s built in baker for serious projects, ripples, dots, aliased lines, hopefully we’ll see Dfelinto take care of this as part of his paid contract from the BF (noting that his job is to work on tools that benefit game developers), it’s possible that the entire baking algorithm needs to be rethought if it thinks that the normal direction is changing due to layout of co-planar triangles (because some people right now might see the feature as ‘broken’).

So the solution in this thread at the moment might be to get your wallet out and pay for a commercial program like Xnormal (unfortunately), either that or bake the displacement map and use the normal map filter in your favorite paint program.

@ neodemon: i used gimp - that has colorpicker and i did use it to sample 1 pixel normal blue. After i subtracted i contrasted reminder as far as possible to get some traces… Where and what could have gone wrong that there is nothing to be seen no idea. b/w render with adjusted curves shows a lot more than triangles - banding is also present.

Edit: Last resort - color select normalmap’s flat blue in gimp, flood selection by the same flat blue sampled color and voila - file size changed 42k to 14k, no visible changes, however render is fine



So there are normalmap bake artifacts.

Well it obviously does in the case of blender.
You can simply clean up the mesh and minimise artifacts, you can do nothing and live with the artifacts, manually clean up the baked normal map or use some other application for baking. The choice is up to you.

xNormal is a free application so not much of a financial outlay