# The Compound Node


Maya Node Type → DG Node
Maya Node NamemvUsdCompoundShape


Multiverse allows you to efficiently stream in Maya any USD data (as well as Alembic) by encapsulating their contents into Multiverse Compounds (nodes of type mvUsdCompoundShape). No actual geometry actually exists in Maya, and Maya files remain lightweight, open quickly and operate at fast FPS in the viewport for manipulation operations, overrides and playback.

The result of a Multiverse Read operation on the shelf, is the creation of a Multiverse "Compound" node encapsulating the content of the file(s) being read.

Compound nodes can be re-arranged int the Outliner to form any hierarchy by using Maya transform nodes, then the whole hierarchy of Compounds can be written out as a Composition. You have options to selectively specify how the Compound should be written: as a "usd reference" or as a "usd payload" (aka a delayed reference). See Write Composition.

TIP

Reading is also available through the Multiverse Python API:

multiverse.CreateUsdCompound
1

See the relative API documentation

# Layering

You can read data in Compounds as multiple layers, the result being always the "composition" of all layers. When sparse overrides on matching hierarchy are present, the layers will be composed in a top-down fashion, with the top layers winning on the bottom ones.

As an example, here's what a typical animated character may be composed of in terms of layers:

(top)
---------------------------
[x] - chara_attrib_over.usd  // override write:       material overrides by shot
[x] - chara_attrib_over.usd  // override write:       attribute overrides by shot
[x] - chara_materials.usd    // override write:       assignment of maya or usd materials from lookdev
[x] - chara_anim.usd         // asset write (sparse): animated points from animation
[x] - chara_uv.usd           // asset write (sparse): UVs from modeling / lookdev
[x] - chara_model.usd        // asset write:          t-pose model topology from modeling
---------------------------
(bottom)
1
2
3
4
5
6
7
8
9
10

TIP

As of Multiverse 7, it is possible to write material shading networks in USD files for either interchange purpose or rendering (3Delight NSI only). These materials can be assigned as overrides in MEOW and are identified by the blue color (while green is reserved for assignment to material shading networks stored in Maya).

Layers can be optionally muted using each layers' own check-box in the UI: note that muted layers are not written when writing compounds into larger compositions.

Note

Note that Compounds will remember all their overrides even if the layers are removed from the UI, so even if the Compound is empty from any layer.

Continue reading about layering in the dedicated Layering documentation.

# Draw Mode

The Draw mode allows you to strategically choose how to draw each individual compound for better drawing performance in the viewport. The draw mode can also be chosen before reading an asset both from the UI and from the Python API. This allows you to overcome viewport limitations with very complex assets.

Additionally you have two fine grain controls:

  • Instance Draw Mode: choose a different draw mode for instances
  • Instance Draw Ratio: choose the % ration of how many instances to draw

# USD Purpose

USD Purposes allows to selectively display render, proxy and guides primitives which were written as such by Multiverse Asset Write or by another USD toolset such as Solaris in Houdini.

By default USD primitives are tagged with the default purpose, in such case they are displayed in the Hydra render delegates, such as Storm and NSI, and they will be rendered procedurally by all of the Multiverse supported renderers.

In case render, proxy and guides primitives exist, you can selectively enable/disable them for display in the viewport. Note that proxy and guides are never rendered, while render obviously is rendered.

# Time Control

It is possible to re-time, offset and in general control the timing of the data contained in a Compound using the timing controls.

Timing controls applies to all layers.

Note

When consolidating compounds into Compositions, please note that not all timing controls can be encoded in USD, this is because USD itself does not yet have support for them:

Timing Control Exists in
Time Maya
Asset Time Maya and USD
User Time Maya
Speed Multiplier Maya and USD
Frame Offset Time Maya and USD
Before User Time Maya
After User Time Maya

# Render Control

This section offers controls for scaling the velocities (for velocity and acceleration-based motion blur), the and the points / curves size without the need to rewrite those quantities. These are very useful with FX data typically coming from Houdini and Solaris.

It is also possible to disable embedded USD materials for the whole compound, this will effectively ignore USD materials and their assignments to primitives.

# Rendering Extension Attributes

Extension attributes are available for each of the supported renderers and are automatically added to the Compound when each renderer's translator plugin for Maya is loaded.

# Render Stats

Maya "Render Stats" visibility attributes are added by Maya to the Compound.

# Reference

Section Parameter Description
Layers Layer Enable/Disable Whether a layer is enabled or disabled.
Layer Name The filename of the USD layer.
Asset Path The relative or absolute path to the asset.
Add Layer [button] Adds a layer.
Remove Layer [button] Removes a layer.
Move Up Layer [button] Removes a layer.
Move Down Layer [button] Removes a layer.
Merge All USD Layers [button] Pops up the Write USD Composition UI to merge into a single composition all Layers. On writing the Composition will be auto-synced into the compound and the content refreshed.
Reload All [button] Reload all layers.
Draw Mode Smooth Shaded Draw as smooth shaded.
Maya Use the Maya material assigned to the compound.
USD Preview Draw as smooth shaded with USD preview materials (if any).
Auto Color Use a flat color set randomly assigned to primitives.
Point Cloud Draw as point cloud.
Bounding Box Draw as bounding box.
Bounding Boxes Draw as multiple bounding boxes.
Skip Skip the display draw.
Proxies - DEPRECATED This mode is deprecated.
Instance Draw Mode Inherit Draw instances and point instances using the main draw mode.
Point Cloud Draw instances and point instances as point clouds.
Bounding Box Draw instances and point instances as bounding box.
Instance Draw Ratio 100 (%) Jow many instances and point instances to draw in percentage.
Display Purpose Proxy Display USD primitives set as "proxy".
Render Display USD primitives set as "render".
Guide Display USD primitives set as "guide".
Write Mode As Reference When writing a “composition”, write this compound as a USD reference.
As Delayed Reference ("payload”) When writing a “composition”, write this compound as a USD payload (aka “delayed reference”).
Time Control Time The actual time of this asset.
Asset Time (Starts/End) The actual start and end times for this asset.
User Time The user time for this asset, typically is set to the same value of asset time, or a section of it.
Speed Multiplier Re-timing option to speed up or slow down your asset animation.
Frame Offset time Offset the start time of the asset animation.
Before User Time Behavior before the start of the user time. Note that this information is not written to USD as it does not yet exist in USD itself.
After User Time Behavior after the end of the user time. Note that this information is not written to USD as it does not yet exist in USD itself.
Render Control Velocity Scale Scale the velocity attribute of this asset, used for velocity blur or acceleration blur.
Point Scale Scale the point size values, will effectively make points larger or smaller.
Curve Scale Scale the curve control point size values, will effectively make curves thicker or thinner.
Scale Mode Whether you should “scale” or explicitly “set” the above velocity/point and curve values.
Ignore Usd Material Ignore any Usd Shading network and assignment.
Render Stats Control the standard Maya render Stats
Extension Attributes 3Delight Controls the 3Delight NSI extension shape attributes.
Arnold Controls Arnold extension shape attributes.
Redshift Controls Redshift extension shape attributes.
Renderman Controls Renderman extension shape attributes.
VRay Controls Vray extension shape attributes.
Last Updated: 5/6/2022, 12:54:23 PM