Ambient Occlusion is just a rendering technique used to calculate where the ambient lighting would be occluded, I think it's always grayscale. In real life (but also using different rendering techniques) you have bouncing photons that would enable the colors to 'bleed' into the shadows and occluded areas.
Yeah it's just a cheap trick to give objects more "depth". In reality the occluded areas would be coloured, but you get this anyway by multiplying the ao against the albedo (this is done in the shader for you usually).
What you're talking about is a full GI solution for ambient occlusion, which is more realistic but dimished returns in terms of looks Vs performance. 3 channels Vs 1. I honestly wouldn't expect the look to change much either.
Yeah it's just a cheap trick to give objects more "depth". In reality the occluded areas would be coloured, but you get this anyway by multiplying the ao against the albedo (this is done in the shader for you usually).
You don't multiply the AO against the albedo, because then it would affect direct lights as well as ambient lights (and would make the ambient light artificially dark because you're presumably multiplying the ambient light by the AO as well, before multiplying it with the diffuse light). AO should only affect ambient light, hence the name :P
Yeah it's just a cheap trick to give objects more "depth". In reality the occluded areas would be coloured, but you get this anyway by multiplying the ao against the albedo (this is done in the shader for you usually).
You don't multiply the AO against the albedo, because then it would affect direct lights as well as ambient lights (and would make the ambient light artificially dark because you're presumably multiplying the ambient light by the AO as well, before multiplying it with the diffuse light). AO should only affect ambient light, hence the name :P
Yeah AO is not a real world thing. AO is a rendering hack we use because realistic lighting is far too expensive to render in real time.
The ideal use for AO is to be used in a shader that multiplies on the ambient light as Farfarer notes. In Toolbag 3, the AO slot multiplies on the ambient (image based lighting) diffuse lighting pass only. The reason for this is simple, imagine you look under your fridge, the light is occluded and it's very dark there right? Now, shine a flashlight down there, and you'll be able to see everything. If you multiply the AO on the diffuse map, it won't light up when you hit it with a dynamic light.
Similarly, you shouldn't multiply AO onto a spec/metalness map, nor should your AO shader affect specular. Specular does not get "occluded" in the way that diffuse light does. Specular light simply reflects the nearby objects. Usually this is accomplished with light probes to get more accurate reflections of the nearby area and some sort of real-time reflection technique like screen space reflections for dynamic objects.
In real life (and in a proper ray/path trace renderer), it's more complicated. AO is not a thing. Instead what you have is bounced light aka radiosity aka global illumination. Basically light rays bounce around and hit various surfaces, this causes crevices to get darker, but it also causes bright objects to illuminate other objects - a white wall being hit with bright sunlight will illuminate a nearby wall that is in shade. With ray tracing, you get accurate specular reflections on all surfaces as well.
The reason we use AO maps in games is that real-time raytracing is still a ways off. So we rely on comparatively simple systems like image based lighting to approximate ambient light, and dynamic lights for shadows. One of the problems with dynamic lights is that you don't really get shadows within shadows. So, picture a car in a garage, lit with a single directional light. The car and most of the garage is in shadow - that seems more or less correct right? But you won't get a shadow underneath the car - essentially you don't get shadows within shadows, so this is generally why we use AO, so that here is still some ambient occlussion when the object is fully in shade. We also used baked lighting in various forms to fake radiosity.
Replies
it's always grayscale.
In real life (but also using different rendering techniques) you have bouncing photons that would enable the colors to 'bleed' into the shadows and occluded areas.
What you're talking about is a full GI solution for ambient occlusion, which is more realistic but dimished returns in terms of looks Vs performance. 3 channels Vs 1. I honestly wouldn't expect the look to change much either.
The ideal use for AO is to be used in a shader that multiplies on the ambient light as Farfarer notes. In Toolbag 3, the AO slot multiplies on the ambient (image based lighting) diffuse lighting pass only. The reason for this is simple, imagine you look under your fridge, the light is occluded and it's very dark there right? Now, shine a flashlight down there, and you'll be able to see everything. If you multiply the AO on the diffuse map, it won't light up when you hit it with a dynamic light.
Similarly, you shouldn't multiply AO onto a spec/metalness map, nor should your AO shader affect specular. Specular does not get "occluded" in the way that diffuse light does. Specular light simply reflects the nearby objects. Usually this is accomplished with light probes to get more accurate reflections of the nearby area and some sort of real-time reflection technique like screen space reflections for dynamic objects.
In real life (and in a proper ray/path trace renderer), it's more complicated. AO is not a thing. Instead what you have is bounced light aka radiosity aka global illumination. Basically light rays bounce around and hit various surfaces, this causes crevices to get darker, but it also causes bright objects to illuminate other objects - a white wall being hit with bright sunlight will illuminate a nearby wall that is in shade. With ray tracing, you get accurate specular reflections on all surfaces as well.
The reason we use AO maps in games is that real-time raytracing is still a ways off. So we rely on comparatively simple systems like image based lighting to approximate ambient light, and dynamic lights for shadows. One of the problems with dynamic lights is that you don't really get shadows within shadows. So, picture a car in a garage, lit with a single directional light. The car and most of the garage is in shadow - that seems more or less correct right? But you won't get a shadow underneath the car - essentially you don't get shadows within shadows, so this is generally why we use AO, so that here is still some ambient occlussion when the object is fully in shade. We also used baked lighting in various forms to fake radiosity.