PDA

View Full Version : Exclude from AO


Ian Jones
11-23-2009, 07:25 PM
I need to stop an object being part of the scene AO calculations. I know I can turn off the objects ambient value, but that's not what I need. I need the object to not cast any shadowing through its interactions with AO. Any ideas?

dac77
11-23-2009, 09:49 PM
Well, You did not formulated the problem precisely. Do you want the object to not show AO on itself, or not occlude other objects, or maybe both? Blender doesnt allow to turn off AO for any materials, but one could think about rendering differrent layers with differrent AO setup and compositing it later in nodes, but there is of course problem with shadows and reflections. MentalRay allows that easily.

Ian Jones
11-23-2009, 10:03 PM
Sorry for the misunderstanding, I thought I was clear enough.

I want to make a particular object not affect other objects in AO calculations. So basically if I have a sphere sitting on a plane, I want to stop the sphere casting any AO shadowing on the plane. I still want all the other objects in the scene to be have AO as per normal.

I guess I'll have to use render layers and composite, but I was hoping there would be some way (an exclusion setting) to do this in a default scene / render setup.

dac77
11-23-2009, 10:12 PM
As of current version there is no such option. I am pretty sure because I always wanted to differenciate the quality of AO on per material basis, which is not possible. I couldn't find this option even in Yafaray. Lets hope for future relises of both aplications. Editable shaders are what we both need.

Ian Jones
11-23-2009, 10:20 PM
Thx for the help, I suspected this was the case. I wish everything was node enabled, the shading system as it stands is a little clunky (ie randomly evolved).

harkyman
11-23-2009, 10:50 PM
The only way to do that without compositing might cause other problems. On the material of the object which should not cast AO, turn off "Traceable" in its material settings. This makes any object with that material invisible to raytracing, thus invisible to AO.

dac77
11-24-2009, 01:20 PM
Yes, it will work, but it not only will not give occlusion to other objects, but also causes this object being unselfoccluded (You know what I mean), and this object will not participate in reflections and raytraced shadows, so You will end up doing at least two passes anyway and compositing them (AO one version and shadows and reflections other).

Ian Jones
11-24-2009, 04:08 PM
Yeh that won't work... :( I'm using two large shaded planes for metal reflections, just didn't want them casting AO shadowing.

Modron
11-28-2009, 01:30 PM
I had a similar problem recently when I was using a big sphere for a sky, in an anim, and it was slowing down the rendering of the underlying city to a crawl, as well as darkening things. I needed to have the sky in the reflections of the windows, so making it non traceable was not an option, but, I solved it like so: I set up my animation, then, before rendering the city, I went to another layer with the sky sphere and turned off AO, and rendered the entire anim, but with no objects other than the sky. Then, I took that image sequence, and loaded it both in the backbuffer, and in world buttons, but removed the actual sphere from the scene while rendering the city.

Ian Jones
11-28-2009, 01:48 PM
Thanks, that is a good suggestion.

I probably should have explained that I'm packaging this as a simple model for distribution, so it had to be as simple as possible. I made a small adjustment to the placement of objects so that I didn't have to use any tricks. Not ideal, but no post editing or hacks needed.

CGTalk Moderation
11-28-2009, 01:48 PM
This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.