# Read USD (and Alembic)


INPUT → Read a USD file (.usd/.usdc/.usda/.usdz)
INPUT → Read an Alembic file (.abc) [read through USD API]
OUTPUT → A Multiverse Compound node (mvUsdCompoundShape)


This shelf button allows to read USD files such as assets, compositions and overrides. Alembic assets can also be read. Data is streamed to the viewport for manipulation and playback and and to the supported render engines, in a procedural fashion.

The following geometry types are all supported:

  • poly mesh shapes (including blend shapes and texture reference objects)
  • subdivision surfaces
  • curves (strokes / pfxHair / nurbs)
  • points / particles

Additionally a large variety of primvar and attributes on geometry are available for display and/or rendering.

Finally, there are other non-geometric objects that can be read:

  • cameras
  • materials
  • skeletons & skeleton animations
  • lights

TIP

Reading assets, compositions and overrides is also available through the Multiverse Python API:

multiverse.CreateUsdCompound
1

See the relative API documentation

The result of a read operation is the creation of a Multiverse Compound node (type mvUsdCompoundShape) which encapsulates all data: this is a single shape node which is visible in the Outliner, and is efficiently represented in memory.

The hierarchical representation for the content of this node is visible in MEOW, a high-performance window which is able to manage any asset complexity, and where you can perform overrides and assignments among other actions.

You can read mode about the Compound node in the Compound documentation.

TIP

Read the USD or Alembic documentation to understand more in depth their differences.

Through the reader's window you can:

  1. Read USD Asset and Composition files with any extension (.usd, .usdc, .usda)

  2. Read Apple USDZ AR Assets in .usdz format.

  3. Read Alembic files in the .abc format (“Ogawa” backend only).

  4. Read a single USD sequence "Clip" file (.usd, .usdc, .usda).

  5. Generate a single USD Clip which references a file-per-frame sequence of USD or Alembic files. The clip is generated in the same folder where your file-per-frame sequence is located, alongside with the clip topology file. Make sure to read our Usage Guide for Sequence Clips.

    Notes on Clips:

    — When generating a clip file, a topology manifest file is also created for each clip: this topology file is not meant to be read directly in the Compound, it is used by the clip file when the clip is read.

    • You can optionally generate a .usda USD ASCII Clip file by explicitly specifying the .usda extension in the file dialog. ASCII files should only be used for inspection and for debugging and understanding purposes.

# Input

The Multiverse Read USD (or Alembic) UI allows you to read into Maya any USD and Alembic files which were previously written by:

  • Multiverse Write USD Asset .usd / .usdc / .usda / .usdz files
  • Multiverse Write USD Composition .usd / .usda / .usdz files
  • Multiverse USD Clip Sequence .usd / .usda files (generated from this UI itself)

In addition to the above:

  • Multiverse Alembic .abc files created by previous versions of Multiverse (Ogawa backend only).
  • Maya Alembic .abc files created by abcExport (Ogawa backend only).
  • Houdini Solaris USD .usd / .usda / .usdz / .usdc files USD_ROP LOP or UsdExport SOP node.
  • Houdini Alembic .abc files created by RoP Alembic Output node (Ogawa backend only).
  • Any other application/plug-in/tool able for any DCC App able to write USD files or Alembic files (Ogawa backend only).

TIP

You can strategically choose the Viewport draw mode before actually drawing the data. This will allow you to potentially load data that cannot fit in memory.

You can also choose to display different USD purposes: render, proxy and guide.

Reading USD files without "Default Primitive"

USD files generated by Houdini or other applications may not have a USD default primitives specified (in Houdini USD ROP you have an option to write the name of the default primitive). When no default primitive is specified, Multiverse will print a warning in the UI and use as a default primitive the first primitive encountered when reading the file. Multiverse always writes USD files with a specifies USD default primitive.

# Output

The result of a Multiverse Read operation is the creation of a Multiverse Compound node encapsulating the content of the file being read. Read the Multiverse Compound node reference to know more.

You can read in Maya as many compounds as you want, however keep in mind that the more Compound nodes exists in Maya the slower the viewport draw will be: Multiverse is designed for consolidating individual Compounds into hierarchies to be written into "Compositions" (see Writing Compositions. Once "composed" the viewport draw will be fast. An example of a composition is J Cube's Esper Room, or the Pixar's Kitchen. Ideally you should streamline your scene into as few compounds as possible when in the lighting and rendering stage of your pipeline: for example you would have a Compound for each main character and one to three compounds for your set (near, min, far bg).

# Reference

Section Parameter Description
Selected Asset Metadata Backend USD or Alembic (Ogawa).
Frames per Second Shows the FPS the asset was encoded with.
Samples per Frame Shows the number of samples per frame the asset was encoded with.
Start Frame Shows the start frame.
End Frame Shows the end frame (if any).
Default Prim Shows the USD default prim. If no default prim is specified in the asset, the reader will show a warning. USD assets without default prim are technically legal in USD and can be generated by pipeline tools. If a default prim is not specified, the first primitive will be used as a default prim.
Asset Path Options User Relative Paths Default ON. In the resulting mvUsdCompoundShape node, each path of each “layer” specified in its UI, will be saved in the Maya scene description using paths relative to the currently set Maya project. Note that when using a USD Asset resolver this option is intentionally grayed out (as all paths will be encoded relatively to the resolver).
Viewport Draw Shaded Shows the data as smooth shaded
Material Shows the data as smooth shaded with USD preview materials (if any).
Flat Shows the data as flat shaded.
Point Cloud Shows the data as point cloud.
Bounding Box Shows the data as single bounding box.
Bounding Boxes Shows the data as multiple bounding boxed.
Skip Skip the draw.
Proxy - DEPRECATED Shows the data as proxy geometry (if any).
Display Purpose Proxy Display USD primitives set as "proxy".
Render Display USD primitives set as "render".
Guide Display USD primitives set as "guide".
Generate USD Clip Start / End Define the start and end of the clip.
Clip File Name Define the clip file name.
Generate USD Clip Generate a new USD clip (which can be then then read). This operation also generates a second file, the topology or manifest file, which should not be read directly as it is read by the clip file itself.
Last Updated: 6/6/2021, 6:49:15 PM