I would like to have an occlusion on some objects in the output (aov) of my render layer.
I assigned a trace set of these objects on my occlusion connected in my render layer
But, Guerilla make me an occlusion on all object
What's the righ workflow ?
ps : sorry for my poor english
J'aimerais sortir une aov d'occlusion directement sur mon render layer
J'ai assigné un trace set de ces objets sur mon node d'occlusion connecté dans mon render layer
Mais Guerilla me fait une occlusion sur toute la scène
Quel est le bon workflow ?
Last edited by Gam (2010-09-03 15:56:50)
- Guerilla dev, the guy to hug
Re: output occlusion
There are 2 things to handle here:
- If you want only a few objects to be connected to said output, then you have to remove all objects from the layer and make connections per output. This is because outputs can override layer connections but only in addition. For instance:
Layer A --> connected to objects A, B
- pass Output --> connected to nothing ==> A, B rendered
- pass Occlusion --> connected to C ==> A, B, C rendered
This choice to have output to add objects is to have simple connection scheme to simply link objects into outputs, that is you don't want specific linking, just link into the layer and everything is ok, but if you want specific linking then you have to connect every output individually.
- If you want some objects to have specific output per shader, you have to override said shaders output. For instance:
Object A --> connected to Shader sA, with only Color and Opacity outputs
Object B --> connected to Shader sB, with Color, Opacity and Occlusion outputs
Object C --> connected to Shader sC, with only Color and Opacity outputs
Using previous layer linking, assuming that pass Occlusion is connected to a default occlusion node, we have:
- pass Output ==> A, B rendered with Color
- pass Occlusion ==> A, C rendered with default occlusion, B rendered with specific sB Occlusion output
So, to sum up all this:
- Each layer output renders objects connected to the layer PLUS objects connected to the layer output.
- Each layer output renders objects using the shader output with the same name, or using the shading network connected to the output if no shader output found, or using the default Color otherwise.
Additionally, you can disable an object from receiving occlusion, but this option is generally used to disable occlusion in hair where it is to expensive to compute and better to fake.
Hope I was clear enough
Benjamin 'Ben' Legros