ZBrushCentral

NormalRGBmat gives incorrect 131,131,255 color value for a flat surface?

Just a simple plain surface faced to a camera for example. Rendered in the best mode. Ideally it should be all colored by rgb 128,128,255.
Why 131 instead of 128? I believe it creates some weird slant in textures lighting.

Do somebody know a simple workaround?

i actually get 130, 130, 255.

no clue why, but you can just adjust your blue red and green until they are at 128.
then apply that adjustment layer to your stuff.

hopefully someone else will chime in with an actual fix as apposed to a work around.

Make sure to drop unneccesary Render information like Shadows and AO. Beyond that, it’s a standard material, so go into the light palette and disable the light and the ambient value.

I tried to do so and best of what I could get is also 130,130, 255.

Also the blue channel in normalRGBmat renders is also somewhat incorrect and needs a bit of gamma correction too. Especially when you need to make some perfectly shaped sphere baked in a plain normal map

It gives me RG 128 when I do it on a cube :confused:

Oh, you are right actually. It’s ambient light what caused the color shift. With zero ambient light I get RG 127 But now the blue goes 252 instead of 255, and there is still some gamma shift ( darker overall) in blue channel if compare with what Xnormal does for example.

I would say to preview the map/material in the engine. A small value difference most likely wouldn’t be noticeable to the human eyes, and if it is it might even help since it’s probably rare to see an object in real life be flawlessly flat with perfect 90’ angles.

If you do want to go through the extra effort though, follow your best render up immediately with a BPR render. Set up a BPR ‘Blue’ filter, blend mode Add and a blue value of 3. This may not be a perfect solution though, as it could slightly start to bring back a darker BPR border if I zoom in on the texture close enough (but that’s just the texture, again I’m not sure if the slight change in value would even be noticeable in an actual game engine, and if it would even survive the compression and mip mapping that may be used). A more sound alternative would probably be to just export the best render alone, load it in photoshop (which I do anyway to double check the border edges, the polarity of the green channel, and because I like keeping all my source maps on the same PSD file), and paste a new Additive layer on top of it with a value of #000003.
A third alternative is to open your Render Adjustments and add a Blue Gamma correction of 1.

Each of those give me 128,128, 255 on a flat plane.

Thanks Cryrid for those ideas. Having perfectly 90 degree normals on flat surfaces is important for flipped normal textures if game shaders are coded to support it. Otherwise there would be a visible lighting difference.

I’d still say to try it out. I’m looking small tests in XSI and Unity that’s flipped all ways and no ways, and there’s no visible seams on something as minor as B253 even with a solid diffuse, simple normal map and a bright specular; I can’t see there being any when even more visual noise is added to either map. Getting RG down from 135 is probably the big thing. Might as well boost blue to 255 if you’re going to have it in photoshop anyway, but otherwise planar surfaces tend to cause the least trouble.