Positive or negative values for normal maps?

When importing meshes with normal maps already baked from external apps.
Some claim that if the “tangent” nor-map is LW-3dMax compatible then red of rgb map should be inverted in gimp, Ps. In any case the maya format isn’t compatible.
Lot of old blender users still insist that nor value should be negative.
I tested blender v2.49b and bl v2.5.6
External maps from 3dcoat and zbrush. I’m using ugly seams as testing this ‘issue’
So, have a look, my conclusion is that all these are a myth. Blender is compatible with LW-Max format. On a OSX build if that matters anyway.
And a fast Blender internal render of a rocky scene. Only normal maps are used for this, painted as depth and exported from 3dcoat.
I’m also posting the blend file used for this test. Please try it under other OS.
BTW if you like this rock you may use it as you like. Has some odd construction because this came from another test. (Being beta tester of a sketchup plugin capable for a possible low density sculpting inside sketchup; exported as collada 1.4 to bl 2.49b. Its an ugly tri mesh and this why I choose to use it as test)
http://www.mediafire.com/file/1fqitpc7jilx2cc/cubetestBlend.zip

Attachments



Were these tested on late graphicall builds? A lot of bump mapping changes just recently got commited from Morten Mikkelsen research.

When exporting normal maps from zbrush I tend to see minimal seams with Flip R and Flip G set in the zbrush normal map settings. Not tried it though with some of the recent 2.5 builds.

Flip R flip G, you mean Richard invert R , G probably? The ‘maya’ format?

In any case this test proves that everything will work OK with possitive nor_maps values. In any blender build.
There’s an issue with blender though, when lot of UV islands are used then errors may occured. I haven’t tested the latest builds though. official 2.5.6 has more problems than 2.49b on this.

Michalis: You really need to use super recent builds - these changes were just applied in the last few days. This should work flawlessly now regardless of the number of islands or whatever the orientation is of each island. You need a build later than 35107.

OK, I will. Though I prefer official builds for testing. Any particular mac build?
I’m not sure if I made it clear though. I had no problems with zbrush and 3dcoat normal maps, it is weird that so many blender users advised me to use negative values for imported tangent nor-maps. I found all blender builds compatible with LW-max format. Maya format has G,B inverted I think.
There’s an issue when using lot of ‘UV islands’ though. I’ll check new builds.

Looking forward to your findings - I know Sparky (the guy who wrote the new normal maps) is reading this thread but does not have a BA account. I’m the ‘mouth of sauron’ (http://en.wikipedia.org/wiki/Mouth_of_Sauron) so to speak.

OK, I got informed that using nor-maps coming from different apps, using blender as key chain, this could be an issue. I don’t have such experience. It smells like something goes wrong here.

Unless you were informed by somebody using a brand new build, their knowledge is outdated. I do agree - using blender normal maps as part of a pipeline in the past would have caused problems but, if you are using a build older than the one I stated above, then this should be a thing of the past.

I checked a 35402 build. Same positive values. This is how it should be. It works fine. No changes.

Glad it sounds like it is working good. Here is more info on the implementation should you need it:
http://wiki.blender.org/index.php/Dev:Shading/Tangent_Space_Normal_Maps

Thank you so much!!! I needed this. If you like have a look at finished projects topic, last posts
http://blenderartists.org/forum/showthread.php?t=201063
I managed to have predicable results dealing with different apps normal maps. But with the cost of time. In general, meshes with single UV island use don’t be a trouble (positive values). Mirrored objects may have… it depends.

Well all my confusion comes from this:
Newer blender builds (like r35474) support ‘maya compatible’ normal maps format. Its ok for zbrush and 3dcoat but not with older blender projects. How can I handle these old projects now?
I decided to delete v2.49b (bye bye you served me well)
I can’t even append older inported to bl objects. They’re messing new blender projects. Devs should find a solution here.

Here, a test using a ‘groboto-app’ mesh, painted depth in 3dcoat and exported as maya-compatible nor-map.
Everything looks fine how, there lot of seams but nothing visible or inverted.
It could be great though if blender internal could support nor and bumps in AO-indirect lighting process. Even the preview render of 3dcoat can do this.


Thanks for this Michalis.

Michalis: Look for a dropdown near the normal influence buttons - In the dropdown is 4 options: Default, Best, Compatible, and Original. The differences are shown here:
Original and Default should work with older blend files.

Have a look here:
http://kishalmi.servus.at/3D/bumpcode/

Sorry LiquidApe, I already posted this, in another topic, my mistake.
This is for new bumps support, I used it for the above test but I’m not sure if it affects normal maps. Haven’t compare results yet. Best quality works great with bumps.
Unfortunately, AO and indirect lighting don’t follow these beauties.
Remember, positive values for nor_maps, negative values for bumps.

Attachments


Was just talking to Morten and he says that bump mapping works with normal mapping if the normal map is applied first.

I’m a bit confused to be honest. I use the Nvidia photoshop plugin to generate my normal maps from heightmaps generated from xNormal. These work fine in mental ray with Maya as a host. The last time I tried normal maps in Blender was a few months ago and I couldn’t get them to render properly.
So what settings do I use for normal maps that render in mental ray (Maya) perfectly?

@LiquidApe , “if the normal map is applied first.”, please, more specific? I’m confused now
@bliz
IMO, use a new build of blender, DONT append or open older blender documents-meshes! Especially 2.49 docs! its important.
Import your mesh and assign textures. Use positive value (~2) for normal map. This nor_map should be maya compatible.

The normal map has to be in texture slot before the bump map. (ex. normal map in slot 1, bump map in slot 2).

(Now I just have to figure out how to set the active texture so I can paint on the bump map in texture paint mode instead of the normal map.)