Back in the days of Arnold 4 I used to be able to create a 'custom AOV' in my scene and then directly plug a full 'aistandardsurface' into the 'shader' input on the 'AOV driver'
This allowed me to have a separate aistandard shader as a custom aov, unfortunately in arnold 5 this seems to just return either a flat colour or black,
Example: I have a fully textured and shaded character but I would also like to output a simple clay shader of the same character in a custom AOV
I've been looking into this post which seems to get close to what I'm after, any ideas how to set this up?
https://answers.arnoldrenderer.com/questions/6307/shader-custom-aov.html
Thanks!
Solved! Go to Solution.
Solved by Stephen.Blair. Go to Solution.
Standard Surface doesn't return a color, so you cannot use Standard Surface to write to a custom AOV (the AOV write shaders need a color value).
In Arnold 5, Standard Surface returns a closure, which is evaluated later by Arnold and used for LPEs.
You can use shaders like Utility or Flat to write to a custom aov.
@Stephen Blair So in arnold 5 there is no way to write a full shader to an AOV as possible in arnold 4?
Shaders that return closures cannot write to custom AOVs
@Amro Haroon Just looking into this a little here and although you can't plug a StandardSurface into a custom AOV, there are a more shader options in the utility shader than I remember - you can have lambert, plastic or metal and you can also add texture to the color property. This was enough for what I wanted as an secondary material.
Hmm, this is a big problem.
Can't use Flat or Utility because they don't accomodate displacement or opacity which Standard_Surface supports. So if we just want to generate a simple holdout matte AOV, what used to work no longer does.
Can't find what you're looking for? Ask the community or share your knowledge.