Table of Contents |
---|
Welcome to RenderMan for Maya 22!
This new release of RenderMan for Maya 22 (RfM), includes a number of new features to address feedback as well as many improvements to RenderMan for Maya workflow and performance. Many parts of the plugin have been completely rewritten to improve integration into Maya and simply worflowsimplify 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
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 iteration 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 INI files are now provided in JSON configurationformat.
- The projection editor is removed, native Maya projections are supported.
- Alembic Workflow relies on the standard Maya Cache menu.
- Dynamic Rules have been reworked.
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() |
Changed the default bucket order to circular, for a better user experience.
Xgen : Xgen will crash during live rendering unless
Improvements since RenderMan 22.0b6
you set Window > Preferences > Xgen > Multithreading to "off" (unchecked)
. See Known Limitations below.
Warning |
---|
Due to an Autodesk Bug, if the RenderMan for Maya plugin is set to Autoload, batch renders may crash from the plugin being loaded a second time incorrectly. The temporary solution is to manually load the plugin from the RenderMan shelf. |
Fixed an issue where batch renders may fail using legacy render layers
- Added missing PxrMarschnerHair hair lobe names to lpe option strings
- Fixed an issue with editing mesh light attributes
- We now check OpenVDB data to see if it's a volume or mesh in the file
- Added a control for displacementbound:CoordinateSystem, please see the documentation.
- Fixed crash when adding light filters in viewport mode
- Fixed bug where sometimes resizing viewport would crash Maya
- Fixed bug where lights would get exported into rib archive when doing "export selected"
- The mesh translator now includes color sets when selected in the Shape node. By default the current set goes out as Cs, and if the new outputColorSets checkbox is enabled, all color sets go out with their given names; this matches behavior in 21.
- Fixed a bug where the <scene> token would end up as untitled any time errors were encountered during the opening of the scene file
- Fixed various issues related to the UI and node connections
- Alembics containing non-NURBS meshes should no longer have inverted normals.
- Fixed an issue where shaders were not applied using the Dynamic Rules Editor for Preview renders (IPR continued to work giving the artist a false sense of security)
- PxrOSL Help text no longer breaks the shader
- Xgen performance is greatly improved on many scenes
- RenderMan attributes should begin with `rman__`
- Attribute Lookups:
- <shape.frame>: the value of the 'frame' attribute on the current shape.
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'
- LPE syntax highlighting added
- Default bucket order changed to Circle, we think it's nice! For non-interactive rendering see the limitations of bucket order for Checkpointing and Recovery
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.
Info |
---|
Improvements since RenderMan 22.0b5
|
Improvements since RenderMan 22.0b4
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() |
Info |
---|
Improvements since RenderMan 22.0b3
|
Info |
---|
Improvements since RenderMan 22.0b2
|
Info |
---|
Improvements since RenderMan 22.0b1 |
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 objectDue to an Autodesk Bug, if the RenderMan for Maya plugin is set to Autoload, batch renders may crash from the plugin being loaded a second time incorrectly. The temporary solution is to manually load the plugin from the RenderMan shelf.
- Creating a mesh light from existing geometry during IPR will duplicate the geometry in-render. Restart the render to remove the duplicate.
- To avoid instability with Xgen, it's recommended you turn off Xgen Multithreading in the Maya Preferences (this suggestion applies generally and not just for RenderMan)
Beta Limitations for RfM - These are expected to be resolved before release
- Modifying custom projection nodes like PxrCamera will fail to update during IPRWe do not support Camera Facing Curves in Xgen
- Xgen will not reflect changes in the Collection
Dicing cameras
Render selected objects only not yet supported
Holdouts not available
Shadow collectors do not function
- Cross Frame denoising is not implemented
- Maya Fur Feedback is not supported
Denoise selection on Displays may not stick, known issueWarning Xgen : Xgen will crash during live rendering unless you set Window > Preferences > Xgen > Multithreading to "off" (unchecked).