No, you can't do that with current shadow matte shader. We need to implement a version of the shader that uses closures, so that then you can use LPEs with it.
@Jim Polk As of Arnold 5.1, you can get the shadow matte for a specific light.
Per-lightgroup shadow mattes: The shadow_matte
shader has a new aov_group
parameter that when enabled makes the shader sensitive only to lights with a matching aov
setting.
In MtoA, shadow matte has a Light Group box that restricts the shadow matte to a single light.
No, that's not done with LPEs
Hi Stephen, Apologies for my late reply,..
We only use Maya for modelling not for lighting or lookdev..
We use Crom, an in-house program that's like Katana,etc., and create our own assfiles
using the Arnold Python API. Would you be so kind as to re-express your answer in
those terms?
Thank you very much,
Jim
Just to add...if you have any actual assfiles that show how things are connected that would especially helpful. Ty!
Just to add..
In Arnold 4, we created an EXR composed of what we call 'castshad' layers, one for each light in the scene.
Each of these layers shows *all* of the shadows for *all* objects for *that* light.
The geometry objects are assigned a grey shader, in A5 it's something like:
standard_surface
{
name TrackManGeom
base 1
base_color 0.5 0.5 0.5
}
Each light's block in the assfile fills the 'aov' param with something like 'key1Light',etc.
From your earlier answer, I understand that the shadow_matte block should be configured like:
shadow_matte
{
name thisMatte
aov_group 'key1Light'
}
But what I'm not getting is the relationship between the standard_surface block and the shadow_matte block.
Thank you,
You just have to set the shadow_matte.aov_group parameter with a string value that matches the shadow-matte-aov-group-test.ass parameter of one or more lights.
An example ass file is attached.