Make Ambient Occlusion shader ignore some game objects

Hello.

I’m using the stock effect for Ambient Occlusion but I’m wondering if there’s a way to have it ignore certain objects in the scene? I have a few widgets and other objects that I don’t want that effect applied to.

The biggest issue is that it’s being applied to materials that are light emissive. These should be glowing and not have this effect applied to them.

Is there a simple way to have the effect ignore some objects?

thanks David

The ambient occlusion effect is a post-processing effect, which means that it is applied to the final image that would otherwise be presented on-screen. Since it’s just color data (and normal and depth in deferred rendering), there’s not a lot of ways to distinguish the different objects at that point.

The only way I know of that you could do this, and it won’t be particularly easy, would be to render your scene twice. Once with non-emissive objects and ambient occlusion, and one with emissive objects and no ambient occlusion, then stitch the two images together with some sort of mask. You’d still need to depth-render the entire scene in the emissive version though, to ensure emissive objects aren’t always in front.