Publishing USD shots from Maya with intact references

I’m trying to create an end-to-end scenario which reflects the way we imagine to use Ayon at our Studio.

  1. Create Assets in Houdini/Maya, publish as usdAsset (modeling)
  2. Shading Assets in Houdini, publish as usd contribution to the modeled asset.
  3. Reference Assets in Maya for layout and shotwork. Publish as usdShot
  4. Sublayer shot in houdini for lighting and rendering

However, I’m not clear how to publish from Maya without loosing too much data.

Option 1: Loading Assets via Reference Maya USD

This works. The full scene can be sublayered in Houdini.

However:

  • Materials are missing from my assets
  • Variants are missing from my assets
  • The usd was flattened. All references to the asset files are lost and the file gets very big


Option 2: Loading Assets via Load USD to Maya Proxy

This looks more promissing. I even can access variants perfectly.
But when loading the shot in houdini:

  • Only 3 empty xforms arrive
  • The usda file also shows only 3 empty xforms


Our goal is to do lighting and rendering in houdini.
What would be the intendet way to do this?

I could go with the first option, and then overlay the look layers over the assets, I guess.

1 Like

The first one will load the USD layer as Maya data, the same as you would reference a Maya .mb or .ma file. Therefore everything will get flattened. Also depending on the MayaUSD version of the plugin it will reference the materials if it’s translatable to maya data. So when you publish the shot it will export the maya geo to USD. This is only handy in my opinion when in the modeling stage or when you would publish pointcaches as USD.

The second will load the files as separate 3 stages. Same as you would do when loading three separate sublayer nodes in Houdini. However these stages don’t have a direct relation to each other. See them as 3 separate containers. When publishing as Maya USD it will only publish the transforms, since that’s the only maya data that’s in the scene. Publish Maya USD is only for maya data.

If you want to publish a proper usd stage you need to use publish Maya USD layer if I’m not mistaken.

If you you want to do layout in Maya with USD, best is to create an empty stage, usd reference the various assets and place them, and then publish a Maya USD layer.

Ok. This makes sense to me.

In your recommendation to create an empty stage and reference the assets in. Do you mean to do this natively in maya by creating an xform and pointing the reference to the asset file?

Or can this be done with the Loader? Whenever I load an asset with the usd proxy loader, it creates a new stage containing only the asset (as you mentioned). I couldn’t find a way to move the asset into my empty stage. At least not without breaking the ayon reference. Whats the intendet way?

I don’t think there’s Ayon support to load an usdAsset into a specific stage. At least I haven’t found it, perhaps someone from the Ynput team can confirm that?(@BigRoy). So if this is your intented workflow best is to add the references manually through add reference in your stage.

So in the your stage create a root prim and when you right click you can do Reference > Add.