RenderMan for Maya improves Alembic rendering workflows by consolidating existing functionalities.

There are now different ways to render Alembic archives in RFM. We will review them one by one.

This documentation uses an Alembic archive of the Rolling Teapot model from Brice Laville Saint Martin.

You can download it here.

Exporting geometry to alembic from Maya

First, you need to export your geometry so that RenderMan may render it correctly.

To make it easier, we have added a few export functions in RFM to guarantee correct results, but you can roll out your own based on our work if you need to customize it.

You can find it in the Archive section of the RenderMan menu...


...or by right-clicking the archive icon in the RenderMan shelf.

We export many geometric options using our menu selection to provide enough data for other bridge products, such as:

    Constant real32 rman_micropolygonlength
    Constant int16 rman_watertight
    Constant uint8 rman_traceDisplacements
    Constant int16 rman_autoBias
    Constant real32 rman_traceBias
    Constant real32 rman_displacementBound
    Constant string rman_displacementCoordSys
    Constant uint8 rman_emitPref
    Constant uint8 rman_emitWPref
    Constant int16 rman_subdivScheme
    Constant int16 rman_subdivInterp
    Constant int16 rman_subdivFacevaryingInterp
    Constant uint8 rman_outputColorSets
    Constant uint8 rman_emitFaceIDs
    Constant uint8 rman_emitNref
    Constant uint8 rman_emitWNref
    Constant uint8 rman_preventPolyCracks
    Constant int32 rman_motionSamples


As you can see, there are different options depending on how the archive will be rendered:

Export for the gpuCache node

When exporting for the gpuCache node, the alembic archive will be sent directly to the renderer, without being processed by RfM. If your scene contains polygon meshes that are either smoothed (using the Smooth Mesh controls) or carry RenderMan's subdivision surface attributes, we need to make sure they will be exported as subdivision surfaces instead of poly meshes. This menu includes a pre-processing step before calling the usual Alembic export dialog.

We use the gpuCache node to reference, display and render regular, high quality Alembic archives.

It is different from Maya's GPU cache workflow where you save a simplified version of your scene, simply to keep large scenes more interactive.

Always use our Alembic Export menus for best results. If you try to render alembic files saved via the Cache > GPU Cache > Export... menu, we can not guarantee the results.

Export for imported/referenced archives

When an alembic node is imported or referenced in a Maya scene, the archive's nodes will be rebuilt as Maya shapes and must carry their original RenderMan attributes to render as expected. Our export menus include a setup step to make sure all relevant attributes will be saved in the alembic cache, as well as uv sets and subdivision surface creases and corners.

Rendering Imported or Referenced Caches

Alembic archives can either be imported or referenced in Maya. You can attach materials to them and they will render exactly like any other piece of Maya geometry.

They are great to light and shade animated characters without the burden of evaluating complex rigs. They are not so great when the archive contains a large number of nodes with heavy geometry, in which case you might consider rendering a GPU cache instead.

Rendering gpuCache nodes

Creating a new gpuCache node

The easy way

Right-click the archive icon in the RenderMan shelf and select "Import GPU Cache...". A file picker will open, the node will be created and made visible to indirect rays. 

The hard way

Start by importing your alembic file via the GPU Cache menu. If the menu doesn't appear in your Maya, go to the Plug-in Manager window to enable it.

For animated GPU caches please select: Use Global Time



In this example, I imported the Rolling Teapot model. Note that the whole model is now a single node in Maya, which by default will be rendered by RenderMan.


The default attributes will appear in the RenderMan section:

    • Render Alembic Cache
      • MUST be enabled to render.
    • RLF File Name
      • The full path to a RenderMan Look File that will be applied to the Alembic file. You can use the editor described further down the page to create and save RLF files.
    • Edit RLF File
      • Open a standalone RLF editor to modify the file referenced in RLF File Name. See Assign materials for details.
    • Edit objects
      • Open the shape editor to modify the contents of the alembic file. See Geometric edits for details.
    • Inspect Alembic section

      Read archive contents

      Click this button to parse the contents of the archive and display its contents in the node lists.

      Large alembic archives may take many seconds to parse. Be patient... (smile)

      The node list may incorrectly display large number of deeply nested nodes. To work around this Maya bug, we only expand the first 3 levels by default and suggest using the filter field to explore the archive.

      The parsed data is saved on the node so it may be displayed quickly without having to re-parse the file, but you will have to re-parse the archive if anything has changed in it.

      You can "solo" any point in the hierarchy (display only the selection) by double-clicking in the list. To display everything again, double-click the top node (ABC). This has no impact on the final render.

      • Filter
        • The contents of the node list can be filtered using a glob expression.

          PatternMeaning
          *
          matches everything
          ?
          matches any single character
          [seq]
          matches any character in  seq
          [!seq]
          matches any character not in  seq
      • Node list
        • A hierarchical view of the archive's contents.
        • Each node will display its properties as an annotation. This is useful to check if your archive contains the properties you need. 
          This can be toggled with the View node annotations check box under the node list.

Batch Rendering

For efficiency, RenderMan for Maya does not export all shaders, it only exports materials which are attached to geometry. This will lead to issues when batch rendering GPU Caches.

To workaround this issue, Please Enable "Output All Shaders" in the advanced menu of the RenderMan Render Settings.

Debugging

As of RFM 24.4, it is possible to define the RFM_RLF_DEBUG environment variable (its value doesn't matter) before launching RFM to get debugging output at render-time.