View Full Version : How to tweak AO-Pass via global AO?
11 November 2009, 10:04 PM
if you are lazy and take the shortcut of doing an AO-Pass of your whole scene by just checking the AO-Feature in render globals (it's possible WITHOUT assigning AO nodes to all your shaders), is there a way to tweak how that one global AO comes out, e.g search distance, spread and the like?
11 November 2009, 06:40 AM
I'm pretty sure that the AO flag in the Render Settings simply turns on the AO feature in various MR materials. If it's a global AO, I haven't seen any controls for it either, which would make it absurd. I never tested a material needing AO with that off, though... It seemed pretty self explanatory, but now I'm doubting my self's explanation.
I'll give it a test in the morning if nobody else wants to.
11 November 2009, 11:46 PM
The AO in the render globals is tied to the AO renderpass only. It doesnt have any impact to occlusion built into shaders like mia or megaTk.
At first I was annoyed with this setup because of the lack of controls and the default AO render is not normally how I would use it. However I found that with a quick colorlookup in Nuke i can adjust it to be how I used to make them myself so in a way its not so bad, although my preference would have been for this feature to be tied with the mia's detail occlusion instead of being a generic global AO pass.
Anyways no, there are no controls like mib_amb_occlusion. However you can color correct / adjust the pass in comp and thats worked out for me ok.
11 November 2009, 12:47 PM
Thank you for your replies, guys,
I tested a bit around, and now start getting really confused :argh:
If you want to have some control over your AO, you have to pipe a mib_AO-Node into your material (in my case just a default lambert).
You find that as the composited result of the beauty-render attached as AO_want.jpg.
To get that, I had to check on Shadows in the Render Globals but not(!) AO. And it rendered rather fast.
But, to get it as a seperate pass at all with the Maya 2009-Passes-System, I had to check AO in the Render-Globals.
Then it seemed to take whatever settings and gave me AO_get.jpg as a Pass, which is neiter what I desire, nor what is used for the beauty comp (which uses the Parameters of the mib_AO-Node).
But worst of that whole scheme is, the AO seems to be computed twice, as I conclude by rendertimes going through the roof!
I thought when writing my initial post, that at least if you properly assign mib_AO-Nodes to your shaders, that is what will be used for the AO-Pass, but this doesn't seem to be the case.
So, how the heck can the AO-Pass controlled at all?
@JasonA: I doubt that AO_want.jpg can be emulated with some color correction on AO_get.jpg, can it?
edit: since name isn't displayed: the first picture is what I get, the second what I want
11 November 2009, 02:44 PM
well I've never used the internal AO system, cause of the same problem -> I dont know how to customize it. You can always use a surfaceshader with the mib_amb_occlusion node plugged into the outcolor and render it as a new renderlayer. But if you want to get the ambient occlusion as a renderpass you need to build a shader network with a writeToColorBuffer connected to a associated renderpass. But everytime I uses customColor passes the whole renderprocess get very very slow :argh:
11 November 2009, 03:47 PM
I think there's two problems here, one is the fact that the AO renderpass is not cusomizable, but the other is the workflow you mentioned above. You dont use both mib_amb_occlusion and also the renderpass AO together. Use one way or the other.
The one you want (the lighter one) is what you should have gotten out of the renderpass system. Honestly I dont even use my AO passes like that, but at least Id call that 'normal'. The other image, the one youre currently getting, yes it looks like its doing two occlusions but i cant say for sure whats going on there.
get rid of your mib_amb_occlusion shader network stuff, and just turn on the AO on the render globals, and add the AO renderpass. By default it should look very similar to your lighter example.
11 November 2009, 07:12 PM
Thank you Sven and Jason,
as you might see from the render it is a rather big scene with a lot of shaders. Additionally, the assets are referenced, exist on Render Layers and contain both scene- and layer-overrides. I already had to rebuild it once when I wanted to assign stuff temporarily to a new render layer with customized shaders and something irreproducible broke apart.
I don't know about the writeToColorBuffer-workflow, but as you mentioned, there seem to be issues with that either
I don't want to use both approaches at the same time.
I just would like to see my AO applied to beauty render for preview purposes. In this case I think you have to both apply mib_Nodes and check AO in Render Globals, which lead to totally different results and, worst of all, computes the AO twice.
However, I could live without previewing the AO-Pass, but haven't found any parameters to tweak it whatsoever.
The only way remaining would be the surface shader-workflow Sven suggested, which would be a huge pain for me, as explained above, and on the other hand would render both the AO-Pass and AO-Checkbox in Render Globals pretty useless.
UInfortunately, the default (and therefore one-and-only, as I fear) AO, I get out of the combination "Ambient Occlusion Checkbox"/"Ambient Occlusion Render Pass" (whithout use of mib_AO-Nodes) is the darker one of my renderings, which is more or less useless - too much spread/ too large a search distance :banghead:
11 November 2009, 09:06 PM
What about using the "old" render layers?
There is a renderlayer preset "occlusion", which will overwrite all your objects material in that renderlayer with a AO material (i believe its a surface shader).
In that shader, you can adjust the spread and such.
Is that what you were looking for?
Otherwise maybe I don't really understand it.
I've only heard bad stuff about the render pass system, especially with AO. The rendertimes are ridiculous.
11 November 2009, 09:19 PM
I hope you know that using the global AO with a render pass multiplies your rendertime by roughly 5...
11 November 2009, 09:46 PM
From my point of view, ridiculous rendertimes and missing options are most likely linked.
As I said, search distance and/or spread seem to be pretty off in my case, so no wonder if MR is rendering forever.
Didn't think of that old school approach anymore.
I may give that a try, although I fear, as I'm working with referencing and a lot of overrides, things may fall apart
11 November 2009, 09:46 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.