The main reasons for using RenderMan for Maya as my renderer are:
Due to time and resource constraints, I can't render everything with all the bells and whistles I like. I've avoided ray tracing because the size of my scenes would probably cause all sorts of memory issues and require heavy optimization. As a substitute, I've relied on RenderMan for Maya's point cloud occlusion, which is a non-raytraced solution. Even with this feature, however, I can't render entire scenes in a reasonable time frame. (i.e. less than 10 minutes per frame as I only have access to 4-6 render nodes at a time).
- Speed, especially when scenes are not raytraced
- Fast motion blur, which is important in my film
- Good memory management, which means fewer crashes (my Maya files contain anywhere between 2 and 200 characters, and can get as large as .5 GB)
- Render-time smoothing (i.e. subdivision scheme) enables me to avoid heavy polygon meshes in my already huge scenes
- Integration with Massive - initially, I was going to use Massive's direct integration with RenderMan, but have since abandoned this approach
- I'm a geek - I've always wanted to learn more about RenderMan because of its role in the history of CG
Therefore, I only use occlusion on the 'hero' characters such as Bir, his mother, the old man, the goons, etc. For the rest of the characters and the set, I baked the occlusion into the respective file textures using Mental Ray. While baked occlusion doesn't look as good as the real thing, the rendering speedup makes it a worthwhile compromise.
So for example, a multipass exr might contain:
OcclusionIndirect (i.e. Ambient Occlusion):
Put the above layers together*, and you get:
Initially, I was rendering out all my render layers (such as the background, sky, etc) into multipass EXRs, but found that it was overkill and I really just needed that extra level of control on the hero characters.
* The actual compositing operations are:
(DiffuseDirect - DiffuseDirectShadow + DiffuseEnvironment) * OcclusionIndirect
** I left out the Specular components for simplicity, but the math is the same as for Diffuse