Asphalt

I have a 3d scan material set of textures from Textures.com.

We have the usual set of textures.

Albedo = Diffuse Slot
Ao = Multiplied composite onto diffuse
Roughness = Reflection slot+RGlossiness (i have inverted this texture via output)
Height = Not used as not using displacement
Normal map = In VrayNormalMap, in bump slot. (Gamma switched from Automatic to 1.0)

See attached images.

The first one ‘Normals’. is set up as above. This seem’s incorrect to me, almost as if the bump/normal information is inverted.

The second one ‘Normals_Inverted’, is set up as above with one difference. I have inverted the normal using output. This seems correct to me.

I guess the question is, is it normal (no pun intended) to invert scan normal maps like this? As you do with roughness for reflection maps? Or am I going wrong somewhere else?

Cheers




I never used the scanned materials from textures.com, but it might be possible that these materials only work correctly when using displacement. The height map generates the correct geometry, and the additional normal map then might “push in” certain parts to get the correct result.

I really want toa void using displacement on my roads. It looks good, but render build times are too long at decent quality settings.

Use 2D-mode if possible. Works quite well, I used the same technique here. Scene building time was short.

Using the combination has helped, and using 2d displacement has helped a little in terms of build times.

I still have to invert the normal map for it to look anything like it should. This is strange to me.

I should mention we are in 3.6

Are you able to share these assets? There must be a way to get this right!

You will need to make sure that when you load Normal map to use gamma 1.0 and plug that map in Vvraynormal map and “Flip green” checked to get the correct behavior.
different software require different treatment -AKA handedness -(Max vs Maya /Unity vs unreal )so unfortunately, As far as I’m concern there is no way to make it work out-of-the-box with all applications.

Excellent! Working great.

I wonder if the poliigon material converter does this correctly: https://help.poliigon.com/tools-and-add-ons/poliigon-material-converter-addon-for-3dsmax

Interesting. Looking through their tutorials, they suggest overiding all data maps (reflect/rough/bump etc) to 1.0 gamma. I always thought this was just for Normal maps. Anyone care to clear this up?

Anyone? :slight_smile:

Luminance maps and normals are RAW ie. 1.0 Anything that is RGB needs to be corrected. Bump map displacment map would be single value / luminance and therefore 1.0. A reflection colour map would be gamma corrected.

Thanks.

In this example, the reflection/roughness map is derivative of a scan therefore is it safe to assume this is not RGB in the traditional sense? i.e. just copying a colour RGB diffuse texture into the reflection map as you may do from time to time.

Thats a reasonable question which I dont have the answer to. Ive always just set anything going into a luminance slot as RAW, as I assumed it dealt with the maths correctly. Its always looked fine in the render so Ive never questioned it. Obviously normal maps are RAW whatever, but a diff_col map ran through a HSV node to desat it, does that then need to be made RAW by gamma correction before going into a bump slot? Im not sure.

Just downloaded and tested it, and I needed to flip both red and green to get the correct result.

Usually all 8bit formats are saved in 2.2 gamma (srgb) by default form any common source like PS.
Max (well newer versions) knows that and automatically corrects them.
Generally all bmp’s, jpg’s tga’s png’s will need to be treated that way.
Normal maps on the other hand are often saved in linear space even though its saved in 8bit’s like tga.
That’s why you need to tell max’es bitmap loader it shouldn’t correct it automatically and import it with 1.0 gamma (no change)

When you use the Vray hdri loader (you should), it’s the other way around. The HDRI Loader will thread any image as if its in 1.0. So the normal map is loaded correctly and all maps which are srgb will need to be corrected.

Other maps might be saved is linear space as well.
In that case the creator will most likely provide that information. As they did here. :smile:

Everything above 8bit will be saved in linear by all applications I know. So the bitmap loader will automatically not correct them. The HDRI loader is already set for those.