PDA

View Full Version : what are normal and AO maps?



sadkkf
12-15-2015, 09:12 AM
Can someone please explain what normal and ambient occlusion maps do and how I'd use them?

Sorry, just having a hard time understanding what their roles are in texturing.

Thanks.

ActionBob
12-15-2015, 10:53 AM
At work now so a good examples of normal map usage will have to wait.

For a AO map, think of an object that is evenly lit (like a blight, but cloudy day where there are no harsh shadows). If you look at a given object with crevices, grooves or folds, there are parts of the object where light does not easily get into. These areas would naturally be darker since light is not reaching these areas as easily as the gross surface of the object. One would also think that these hard to reach areas would also collect dust and grime since these crevices and folds would catch dirt and debris. Now imagine a grey-scale image that shows just how deep and obscured these crevices and folds are by defining values of deep recession with values ranging from black to white.

If you were painting rust on a model, a AO map could be used as a mask to designate heavier areas of rust and debris build up. Also, you could adjust the map at render or post if you wanted those "occluded" areas to be darker or lighter.

-Adrian

sadkkf
12-15-2015, 11:09 AM
At work now so a good examples of normal map usage will have to wait.

For a AO map, think of an object that is evenly lit (like a blight, but cloudy day where there are no harsh shadows). If you look at a given object with crevices, grooves or folds, there are parts of the object where light does not easily get into. These areas would naturally be darker since light is not reaching these areas as easily as the gross surface of the object. One would also think that these hard to reach areas would also collect dust and grime since these crevices and folds would catch dirt and debris. Now imagine a grey-scale image that shows just how deep and obscured these crevices and folds are by defining values of deep recession with values ranging from black to white.

If you were painting rust on a model, a AO map could be used as a mask to designate heavier areas of rust and debris build up. Also, you could adjust the map at render or post if you wanted those "occluded" areas to be darker or lighter.

-Adrian

Okay. So an AO map is just a map showing viewable area intensity or falloff. Getting it. Thanks!

MonroePoteet
12-15-2015, 11:15 AM
Normal maps and Ambient Occlusion maps are both ways of faking more geometry than actually exists in the model.

Each polygon in a model has a "normal", which is the direction its flat surface points. This direction is used in a variety of the rendering algorithms, such as diffusion, specularity, shadows, smoothing etc. If you apply a Normal map to a polygon, the rendering algorithms will use the normals defined by the map to do the calculations, which simulates having more geometry than is actually there.

Ambient Occlusion is a similar concept, but the effect is where the global Ambient light doesn't reach. As ActionBob says, things like crevices, folds and grooves get less Ambient light because they're "deep". Again, by applying an Ambient Occlusion map to a polygon, the rendering algorithms will calculate the surface as if there is more geometry than actually exists.

If you want a quick sample of what Ambient Occlusion does, here's a video by William Vaughan on the Ambient Occlusion node:

https://www.youtube.com/watch?v=bCaLyUStvy8

mTp

ActionBob
12-15-2015, 11:29 AM
Nice to see Colorado representing!

:-)

-Adrian

DrStrik9
12-15-2015, 11:31 AM
Here's an example of an animated Normal Map, placed on a "glass cube."

https://www.youtube.com/watch?v=e2PUO07y2rQ

sadkkf
12-22-2015, 07:11 AM
Normal maps and Ambient Occlusion maps are both ways of faking more geometry than actually exists in the model.

Each polygon in a model has a "normal", which is the direction its flat surface points. This direction is used in a variety of the rendering algorithms, such as diffusion, specularity, shadows, smoothing etc. If you apply a Normal map to a polygon, the rendering algorithms will use the normals defined by the map to do the calculations, which simulates having more geometry than is actually there.

Ambient Occlusion is a similar concept, but the effect is where the global Ambient light doesn't reach. As ActionBob says, things like crevices, folds and grooves get less Ambient light because they're "deep". Again, by applying an Ambient Occlusion map to a polygon, the rendering algorithms will calculate the surface as if there is more geometry than actually exists.

If you want a quick sample of what Ambient Occlusion does, here's a video by William Vaughan on the Ambient Occlusion node:

https://www.youtube.com/watch?v=bCaLyUStvy8

mTp



Thank you! One more question, though...how do normal maps help with texturing? I see dDo using them, but really don't get why or how to create them.

hrgiger
12-22-2015, 07:24 AM
Don't know how ddo works but in substance you Bake a normal map out from the surface detail you've painted on the model.

ActionBob
12-22-2015, 07:46 AM
Thank you! One more question, though...how do normal maps help with texturing? I see dDo using them, but really don't get why or how to create them.

Normals maps don't so much help with texturing as they are, instead, a way of projecting high detail on a lower resolution version of a model. For instance, you might have a cubic object with intricate details carved into it. This object may consist of many polygons. But with a normal map, you utilize the topology information of the higher res model and "project" it on the lower rez version. This would give you the benefit of a lower poly model for manipulation, but the details of the higher poly version.

Normal mapping is used extensively in gaming (but not exclusively). Game engines these days are amazing in what they can do in real time. However, you still need to use those cpu / gpu cycles as efficiently as possible if things are to run great. Normal mapping is a way of presenting great looking objects while replacing the high poly assets with much simpler geometry.

-Adrian

Niko3D
12-22-2015, 09:38 AM
This is a great free Tools from Nvidia for to create a Normal Map in Photoshop...

Just click on Download and later on Application list choose Photoshop...

https://developer.nvidia.com/nvidia-texture-tools-adobe-photoshop

Surrealist.
12-26-2015, 02:36 AM
For texturing with a program like dDo or Substance there are a series of maps you are dealing with. How you get them can vary.

Also there is a difference as to if you are using a map as a source (input) or as the final output map for shading and rendering.

Input Maps:

Material ID Map

This is used to assign materials to a mesh based on the image map itself. This is separate from assigning a material on the mesh level. As in assigning a Surface in LightWave. What this map does is allow you to assign a material in a painting program like dDo. What material this is, for example, metal or rubber, will determine the values of the output maps, such as specularity roughness or metalness. Rendering programs (including game engines) use these values to determin the nature of the matieral. For example roughness actually determines how reflective a surface is. Black would be fully reflective and white would be no reflection. So if you assign a rubber material to a particular color in dDo it will make the metalness map very light. A metal surface would be much darker. So your output map would reflect that.

This is what a typical Material ID looks like:

131607

How you get it is usually by assigning a material or surface to faces or painting on the model. If it is a material assignment the colors need to be baked to a map based on the UVs in the model. If you have painted on the model then that map can be used.

AO Maps:

These are obtained in two ways. Either baking from a high resolution mesh with a lot of detail to a lower resolution mesh or just by making a lower resolution mesh that does not necessarily have a high detail version. For example a hard surface model that has all of the details already modeled into it, would just get an AO map generated from itself.

How it is used is to determine areas of the model that are hidden from view, or show areas of relief detail. The darker areas are of course crevices in the model and the lighter areas are bumps or edges. As an input map it has a specific role to show the painting app (dDo Substance, etc) where to have grime and dirt and so on collect. When dDo generates its filters or effects on the layer it uses this map as a source for probable places to put this dirt information.

Normal Maps

Come in two variety and have two purposes.

Tangent Space Normal

Is a detail map based on tangents (normal directions) of the model's detailed surface.

This map is usually generated from a high resolution model to show areas of detail not present in the low poly version. For a model without any of this detail, such as a hard surface model, there is not much use for baking this map. The result is it helps tell dDo, SD etc, where to place scratches and wear and tear on the model.

Object Space Normal

http://quixel.se/usermanual/quixelsuite/lib/exe/fetch.php?media=example_objspc.jpg

This map tells a program where the surface is in XY Z space. Top bottom front and side. This map is used to determine things like wear from the weather or say dirt falling or splattering. Sun Bleach for example would be calculated from the top down. The object space normal map is used to translate the 3D space of the model into information on a 2D map. So the painting app knows which way is up or down, front or back.

It does not always work.. lol

dDo no bakes its own gradient map which I think works better.

Curvature Map

http://www.gfx3d.net/images/48.jpg

http://www-archive.cgsociety.org/stories/2012_12/hive/Hive_Body_Curvature.jpg

This map - if working correctly - and has not worked well in the past with dDo, it supposed to tell you where the edges and crevices of the model are more specifically than the normal map. You can bake one from a high poly model to a low poly one in the same way as normal and AO.

But most importantly it gives you a map for a model that does not have a good normal map such as a hard surface model mentioned.

This is the information dDo uses to create edge scratch detail and so on.

And so those are all of the input maps.

Output Maps

These are the maps you use to texture with.

Diffuse/Albedo (color)
Normal
Specular/Reflection/Roughness/Metalness

It depends on your target rendering application which maps you choose to generate and how.

But they all render the same result, the color, detail and specularity (reflection) of the surface.

The Normal map will then contain the information - if any - from the input map combined with all of the other details you added while painting such as scratches or dirt and rust.

The color is most consistent. But the other maps that are used to determine the shading of the surface - how reflective it is etc - will also be a composite of the detail with the added attributes of lightness or darkness depending on your target application and the material you assigned by way of the ID map.

jeric_synergy
12-26-2015, 12:01 PM
If you want a quick sample of what Ambient Occlusion does, here's a video by William Vaughan on the Ambient Occlusion node:

https://www.youtube.com/watch?v=bCaLyUStvy8

mTp
Good link, tnx. -- #aflw, WHY do the Occusion nodes have a COLOR output? Proton plugs it into the Diffuse channel so we never see whatever colors the node is generating, just the Diffuse, grayscale result. With 3 different channels in a color output, what are they all doing?

Sensei
12-26-2015, 04:55 PM
so we never see whatever colors the node is generating,

Actually at the end of this video he plugged Occlusion's node Color to Diffuse Shading, which revealed true output from it (which is just gray scale).

jeric_synergy
12-26-2015, 07:01 PM
(still #aflw) Anything plugged into the Diffuse channel is going to be converted to gray scale by its nature: you'd have to be in the Color channel to see any colors, if any, coming out of an output. No?

Sensei
12-27-2015, 02:15 AM
(still #aflw) Anything plugged into the Diffuse channel is going to be converted to gray scale by its nature

True for 'Diffuse', because it's scalar..



you'd have to be in the Color channel to see any colors, if any, coming out of an output. No?

..but I was talking about 'Diffuse Shading'. It's color input.

Get Const > Color, make red, plug to Diffuse Shading, and you have permanently solid red.
In video at the end, there was done the same, with AO node.