i was struggeling lately with renderman to get a nice occlusion pass rendered out separately. here are my exploration’s notes:
- the most recent version (2.0.1) can not render out a separate pass without generating the final render pass at the same time. let’s hope this feature will be added to the next version, as this could save a lot of render time.
- the -rp (render pass) option is not supported in command line rendering yet. you have to set that in your maya scene directly. another thing that i’d love to see in the next version…
- you can render out a pass called occlusiondirect‘ which has to be inverted in post.
- you must have the object’s reflection turned on (attributes > render stats > visible in reflection) it will not occlude itself. you’ll end up with a pass that looks very bright and with nearly no occlusion.
- if you want to have a shader-based ambient occlusion without the env light, you must write your own ambient occlusion shader. an employee at pixar created one and offers it in the support forums. there’s also one great tutorial written by michael fessenden how to write and use an occlusion shader.
- you can fake ambient occlusion by creating a white lambert shader and diffusion set to 1. in combination with a renderlayer and a material override results can be good.
- point-based ambient occlusion offers the best quality (goodbye to grainy shadows); you can get this one by going to the bake entry field in the env light settings, right-click and select create renderradiosity.
i like the shader-based approach most because it renders fast and can be used in combination with a render layer thus can be accessed through command line rendering.