Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Image Modified

Reusing geometry through instancing can allow for a tremendous reduction of the memory footprint when rendering complex scenes in RenderMan.  Even when working with simpler scenes that contain multiple similar objects, it can be convenient to incorporate instancing into your workflow.

...

Maya instances are probably the most familiar form of instancing in Maya.  Maya instances are rendered as "object instances" in RenderMan, its most efficient form of instancing.

Info

You should assign and set a Dice Instance Strategy on NURBS instances to render them.

In this example, suppose a teacup will be instanced.

Image Modified

Select the top level group node of the hierarchy that you want to instance, in this case the teacup node.

...

New materials can be assigned to the instanced shapes.  Select the shape in the viewport that you want to assign a new material, and assign in your usual manner.  It is a bit disconcerting that all the instances become highlighted.  However, the  The new material will become assigned only to the shape you clicked on.  

Note, there is currently a limitation in RenderMan for Maya where assignment of materials to instances in this way only renders properly for shapes that are only one level below the top of the DAG, like these teacups.  If you need to override materials within an instanced hierarchy, it's necessary to turn off RenderMan's "object instancing" feature.  RenderMan will still reference the shared geometry in this case, but for large numbers of instances it is somewhat less efficient.  Open the Render Settings Window, and under the Advanced tab disable the "Enable Object Instancing" checkbox.

Image Removed

Particle Instancer

Creating Maya instances and positioning them each independently can become impractical for large numbers of instances.  Maya's particle instancer is one approach to instancing geometry at particles.

...

You'll see an instance appear at each particle position.

 

XGen Archives

Image Added

Nested Instancing

Especially when dealing with large data sets like Xgen instancing of many objects, we try and flatten the instances to allow users flexibility in overrides and improve speed. But there are times when this may consume too much memory. This is because flattened instances multiply when rendered, so 1,000 instances of 1,000 instances are 1,000,000 instances.

Nested instances are added so 1,000 instances of 1,000 becomes 2,000 in memory. However, options for instances like some variation and more are no longer available to the renderer. So we allows users to decide when to nest instancing in the transform nodes by tagging them.

 

Create XGen Description

XGen is a powerful tool that can be used to position instances of arbitrary geometry.  First an XGen description needs to be created, which holds the collection of points where instances will be placed.  Then, the archive can be created to instance at those points.

...

Select the shape upon which instances should be placed (eg. the ground plane).  Then from the XGen toolbar, click on the leftmost icon with an X.

...