Table of Contents |
---|
Welcome to RenderMan for Maya
2122!
This new release of RenderMan for Maya 21 22 (RfM), includes a number of new features to address feedback as well as general many improvements to RenderMan for Maya workflow and performance. We've added all new lights and materials as well as a useful asset browser system that can be leveraged in your studio pipeline.
We've also included simplified UI elements and removed obsolete options to give you a new streamlined experience along with new features. Happy rendering!
Note |
---|
Please note that RenderMan for Maya no longer includes the Reyes renderer. RenderMan for Maya is now based on modern and improved pathtracing technology and C++ plug-ins. Scenes using old RSL lights, displacements, and imager shaders will fail to render or render black because of this change. |
Many parts of the plugin have been completely rewritten to improve integration into Maya and simplify workflow.
Please see the release notes below for all the new capabilities and known issues! You may also wish to visit the migration page for selected highlights.
Note |
---|
Current support for Maya 2018 only extends to 2018.2, other versions may have errors as the API was changed. |
What's New
Interface Simplification
Better Defaults
New Material!
All New Lights!
Asset Browser
Texture Baking
Denoise Improvements
Occlusion Integrator
PxrDirt
Projection Editor Improvements
Improved Holdout Workflows
Physical Camera
OSL Patterns are Native
Interactive Rendering
Now you can render through all stages of your pipeline! From modeling to final renders, RenderMan is designed to give you immediate feedback from inside Maya. By skipping the export of a scene to RIB, artists can get an immediate look at their work in full ray traced mode and continue to interact and make changes without needing to restart the render.
Xgen Interactive
Interactive grooming in Xgen is now supported. You can see your updates during IPR.
Centralized Controls
The Render Settings menu now contains most everything you need to create LPEs, change options for final renders, and more.
Render to Viewport 2.0
Render to the same window where you work! Move objects, make modeling changes, add and alter materials and lights, even import and update asserts without needing to stop the render. RenderMan becomes your viewport at all stages!
Scene courtesy of Julien Duval
Interface Simplification
Better organization, smart exposure of options and attributes, and more-native workflows mark this overhaul of the RenderMan for Maya plugin.
Per-face assignments
Added per-face shader assignment for SubDivs and Polygon meshes
Improved Layering Logic
PxrLayerSurface and PxrLayer handle lobe disabling and enabling more intuitively.
Miscellaneous and Important Changes
- Lights are no longer visible in refraction by default. Enable "visible in refraction" in your lights for the old behavior.
- Imported older PxrDomeLights now match RenderMan For Katana (but will now be reversed). To correct this, remove the negative scale from the X axis.
- All TCL code has been removed.
- Xpath has been removed, use the new Dynamic Rules for assigning materials and creating RLF files.
- Configuration files are now provided in JSON format.
- The projection editor is removed, native Maya projections are supported.
- Alembic Workflow relies on the standard Maya Cache menu.
Changed the default bucket order to circular, for a better user experience.
Xgen : Xgen will crash during live rendering unless you set Window > Preferences > Xgen > Multithreading to "off" (unchecked). See Known Limitations below.
PxrImagePlane sample filter now pays attention to the alpha channel of the "plate" image and writes its newly computed alpha into beautyAlpha, added a txmake preset for image planes to the txmanager
Trace sets work interactively, however, simple toggling on/off does not work during IPR alone, another geometry edit must happen.
Instance Attributes and PrimVars are now split between the transform node and shape node respectively to denote their operation and inheritance.
Mesh nodes now have a section under the RenderMan extension attributes called "Reference Object" with checkboxes for which data is desired: __Pref, __WPref, __Nref, and __WNref. This data gets emitted for the mesh when a reference object is present (created by the user in Maya with the Texturing > Create Texture Reference Object menu). Maya's place3dTexture node automatically will look for __WPref or __Pref. When using Pxr manifolds like PxrManifold3D, the user needs to set up parameters on that node to make use of the Pref data. This workflow may evolve and simplify further.
OSL in RfM 22 does not support osl shaders of type "surface" please use "shader" instead ("Surface" implies a closure which is not supported)
The attribute spreadsheet will now show RenderMan attributes, eliminating the need for custom UIs
User controls have been added as an option for VP 2.0 rendering: snapshots, restart, and start/stop
The PxrRamp UI has been overhauled
Maya File Node has linearization improvements
LPE syntax highlighting has been added
<shape.frame>: the value of the 'frame' attribute on the current shape.
Attribute Lookups: This syntax accepts a colon-separated python formatting string, when you need to format a numeric value: if frame == 12.25, <shape.frame:%04d> -> '0012'
Added a control for displacementbound:CoordinateSystem, please see the documentation.
We now check OpenVDB data to see if it's a volume or mesh when ingesting the VDB file
Added PxrMarschnerHair hair lobe names to default lpe option strings
Xgen procedural and Xgen groom (non-procedural) now support turning normals on and off (for tubes vs ribbons).
NOTE: we no longer support always-facing-camera curves.
Alpha and RGBA color sets are now supported. RGBA color sets are emitted as "color colorSetName" and "float colorSetNameA" to allow for ease of shader binding
Parameter help can be passed as an attribute in args files
An arbitrary node type in Maya can be mapped to an args file with params for a procedural. As an example, locator nodes now have a couple extension attrs (for dso name and data) and they're mapped to an args file called PxrProcedural.args. This can actually be used much like the RenderManProcedural node, and it serves as an example of how to set up an args file and mapping in mayaTranslation.json
There's a new RenderManProcedural node that can be created via RenderMan->Archive->Create Procedural Node. This node has fields for dso name and a data string (useful for the older style of procedurals). It supports a preShapeScript that can be used for whatever setup is necessary before translating the procedural, like caching or setting up the data attr.
Developer Documentation
You can find a useful Doxygenated developer documentation in the Developers' Guide under RfM2
Helpful Migration Scripts
Old 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
Code Block |
---|
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 –
Code Block |
---|
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 –
Code Block |
---|
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 –
Code Block |
---|
import rfm2.utils.scene_updater
rfm2.utils.scene_updater.convert_displays() |
Known Limitations
RenderMan for Maya
- Deselecting "Receive Shadows" does not work.
- Light Linking volumes is not currently supported
- The Holdout shelf button fails to operate, use the shape node render stat setting Maya to create the holdout object.
- Creating a mesh light from existing geometry during IPR will duplicate the geometry in-render. Restart the render to remove the duplicate.
- We do not support Camera Facing Curves in Xgen
- Xgen will not reflect changes in the Collection
- Maya Fur Feedback is not supported
Warning Xgen : Xgen will crash during live rendering unless you set Window > Preferences > Xgen > Multithreading to "off" (unchecked).
Miscellaneous Changes
- The shelf's IPR button has a submenu to select the IPR resolution. By default, picking a new resolution with restart the IPR, but this can be disabled by toggling "Restart IPR on change".
- IPR does not have to be stopped to render again. Just press the IPR button again to force updates when geometry positions are changed.
- Added improvements to the way the IES browser handles files.
- There is a new "Rebuild Shelf" menu item in the RenderMan menu, under Diagnose. This will destroy the previous shelf and rebuild it. This is useful if after installing or uninstalling your shelf has been corrupted. Note this does not rebuild previously added user options.
- The intensity of IES profiles has changes to be more in line with the real world. A new "IES Ignore Watts" switch has been added to the Advanced tab of the render globals, in a Compatibility section, should you wish to revert to the previous behaviour.
- The preset browser now includes a preference pane.
- The preset browser now stores all its assets inside a "RenderManAssetLibrary" directory. If the directory doesn't exist, it will be created for the user.
- OSL shaders can now register themselves as a node in the hypershade. To do this, a nodeid and classification string needs to be added to the shader's metadata. Ex:
Code Block |
---|
shader OSLShaderExample
[[int rfm_nodeid=1200405, string rfm_classification="rendernode/RenderMan/pattern"]]
(
float f1 = 0.2
[[string page="Float Input1", float min = 0, float max = 1]],
float f2 = 0
[[string page="Float Input2", float min=0.0, float max=1.0]],
...
) |
Bxdf "PxrBlack" is assigned to mesh lights by default. This can be overridden by assigning a Bxdf to the light or the geometry source. PxrBlack is assigned to prevent secondary scattering from the light itself.
txmake no longer manipulates input images to conform to the OpenEXR latlong specification. An input image is converted directly to an OpenEXR format latlong texture with no image manipulation. The -extraargs exrlatlong flag is no longer needed or supported.
Originally introduced in 20.6 as an option, PxrPathTracer now tracks the diffusedepth and speculardepth separately from each other based on which lobe of the BSDF is sampled. Previously rays that have both diffuse and specular contributions increment both the diffuse and specular depths. The new behavior is more intuitive and produce expected results when adjusting the trace:maxdiffusedepth and trace:maxspeculardepth attributes. This comes at the cost of, in some cases, effectively doubling the number of indirect ray bounces which can cause look differences and/or increase render times.
Known Limitations
RenderMan for Maya
Warning |
---|
You MUST set Maya->Preferences->Settings->Animation->Evaluation Mode to "DG" not "Serial" or "Parallel" |