This page will help you with the major changes made to operating RenderMan in Maya. RfM2, as we call it, has been extensively re-written to avoid redundant menus, reduce the number of clicks you need to make, and present RenderMan options as native Maya menu items. This means users can jump right into RenderMan with what they already know.

Many options have been removed from RenderMan, these decisions were to improve performance of the renderer and the workflow for artists, as such, the options provided are to help guide the user to the correct workflows and reduce headaches. As always, avoid using optimization controls (like those found in integrators and some materials like PxrVolume) to achieve a specific look. These techniques may be improved or modernized in later versions and you will not have access to them.

Please note that the original RMSTREE variable is no longer used and instead we use RFMTREE for the Maya plugin environment variable. You can find details here.

Main Changes

Shading

Please use the available BxDFs in the Hypershade menu.

Render to the Viewport

Geometry


Lighting

Menus and Scripting

Output



Individual Scripts

Older scenes may have issues with migration, areas of note are the PxrRamp, subdivision settings, and AOVs. The following python script can correct these or they can be run individually depending on your scene's needs or included features from RenderMan 21. We do not run this script on import to avoid performance problems loading large or complex scenes. Instead these are provided to the user to use as needed.

import rfm2.utils.scene_updater
rfm2.utils.scene_updater.update_scene()

Older Maya scenes that had PxrRamp nodes in it may break. To fix, you can run this python script in the script editor – 

import rfm2.utils.scene_updater
rfm2.utils.scene_updater.update_pxrramp_nodes()

Older scenes may have incorrect geometry settings and can be updated specifically using the below python script – 

import rfm2.utils.scene_updater
rfm2.utils.scene_updater.convert_subdivs()

Older scenes with AOVs may fail to show in the new UI, the following script can solve this issue – 

import rfm2.utils.scene_updater
rfm2.utils.scene_updater.convert_displays()

Tractor

For Tractor 2.2 and prior

Due to changes in RenderMan, we are providing some helpful files here for rendering with Tractor on a farm.

The shared .*. envkeys should be copied to the "config" subdirectory in the Tractor install. The TrEnvHandler.py file should be copied to lib/python2.7/site-packages/tractor/apps/blade/ subdirectory (if you're copying to Windows the path should be lib/python2.7/Lib/site-packages/tractor/apps/blade) Restart the blades and render. Be sure to back up the original files.

Exporting RIB

If you need to export a RIB file using a script, you can use the below python script. Note that this export will follow whatever settings you have provided in the Render Settings.

import rfm2.render
rfm2.render.frame('"-ribFile /var/tmp/foo.rib"')