Lighting with AO

I came across I do not quite understand.
When I have a scene without a light source and the strength of the surface in the world setting set to 0. The render becomes black, which is exactly what I expect. However when checking AO the scene gets some light.
How is that possible?
Is there a way to get around this? I would like to have AO, however it contributes too much lighting.

Ambient occlusion is fake lighting, it doesn’t require any lights. It’s designed to mimic the light occluded by surrounding geometry. Faces that close together will look darker than faces that are fully exposed with no surrounding geometry. It’s a cheap way to fake realistic lighting without having to compute all the bounces of real indirect lighting.
From the wiki:
"There is no such thing as AO in real life; AO is a specific not-physically-accurate (but generally nice-looking) rendering trick. It basically samples a hemisphere around each point on the face, sees what proportion of that hemisphere is occluded by other geometry, and shades the pixel accordingly. "

The default value of 1 is always way too bright, but you can bring it down on the world tab->ambient occlusion->factor
For cycles I try to keep the value under 0.1 or not use it at all.
The best way to use ambient occlusion, in my opinion, is to make a render pass with it and combine it with other passes in the compositor.

I just got hit with this as well. With AO on my night scene was extremely bright. But it kinda made sense once I figured out what was going on (ambient - I mean, kinda obvious, huh? :)). So, is there a way to link the AO value to the elevation of my sun object?

AO should rarely be used as a render technique unless you’re going for a very specific look or a simple scene preview. The usual use of AO is to bake it to a map and then multiply the result over your color map, either to simulate some light falloff in a realtime engine, or to make darker areas “pop” in an offline renderer.

Simple AO lighting is often used in product advertisement or to feature a model in a turn table model rotation animation. I also use it as a general fill light. Blender Internal has a Multiply option built right in but Cycles does not. You can just turn down the factor or tighten the distance.

So, is there a way to link the AO value to the elevation of my sun object?

AO is directionless, that is why it produces no directional shadows.

But there is a Sun Position AddOn.

Yes, the Sun Position AddOn is great, found it this weekend. But is there a way to obtain sun data from within a material and to control AO factor?

The AO will be calculated even if you toggle it off, because the AO rays (if they can be called so) are going to be shot anyway, when you click RENDER.

Turn it off, and enable the AO render pass (the rendered image it wouldn’t affect at all). Just use it in compositing, as the additional pass to get more realistic image.

Direct or compositing, I want to know how I can control AO factor (can be keyframed I guess, so should be controllable?) by my point light (or any object) height axis. Consider me a complete noob since I never play with this area of Blender. I’m trying to learn this, and during that process map out what can be done and what can’t be done.

AO doesn’t depend on the light sources.

The only thing you can control is the DISTANCE. The distance for AO is the radius of the hemisphere around the shading point where render engine will search for geometry which may occlude the shading point.

Yes, I know. I just want to set it up so that I don’t have to adjust my AO factor every time I adjust Sun Position (the addon) which is capable of driving my sun object (using a link in its settings). Real GI is too slow for me, and AO is a “kinda nice” substitution during testing, but I only want to reduce its and sky texture effect during sunset, as I want AO to work as a fake GI only during daytime.

To say it another way: How can I drive AO factor / shader fac value / my mood :slight_smile: by the sun object (addon) elevation reading? Does that reading exist to Blender as a variable I can use for something else? Don’t worry about realism or usability, I just want to know if and how this can be achieved. And I haven’t learned anything new since yesterday, so still consider me a complete noob :slight_smile:

just googled for this issue. cycles is the only engine i know, that treats occlusion as lighten up everything else. usually ao darkens the scene (like multiply in internal render) whats worth ambient light (which it should be called if added) without color/texture control??? the only plausible answer here was about baking and multiplying it onto the texture for realtime use. ao was initally intended to imporve heavy indoor architecture viz. so to speak speed up gi. which clearly uses multiplication over the luminancedata, not adding light to the scene at all. hope there will be a multiply option soon…

Render an AO pass and multiply in post, as already stated here?