USD for Maya v0.22.0 Release Notes
USD version 0.22.0 is a feature release with your installation of Maya 2024. Visit the official Autodesk MayaUSD GitHub repository to obtain this version or any subsequent releases.
Note: For working with USD and other plug-ins in the Maya ecosystem, visit this
support article for version-specific compatibilities.
Important:
We are actively working on integrating Pixar’s Hydra framework, and have now removed the experimental MtoH plug-in
. Look to upcoming releases for more information on Hydra for Maya (Technology Preview). Hydra for Maya is a Technology Preview and has similar capabilities to MtoH but is not production ready or available with this release. Hydra for Maya is also not supported on MacOS.
Highlights
This build is compiled with USD 22.11 and MaterialX 1.38.5. This release installer includes the following improvements:
General Updates:
- Implemented Relative file support for loading and saving USD root files relative to their scene file
- UI updates to provide relative file paths during saving
Enhancements/ Support:
- Improved NURBS export
- Improved opacity computations for MaterialX and USD materials
- Correctly exposed Material attributes in the Attribute Editor
- Exporting Normals by default when subdivisions schema is set to
True
- Fixed material export when preserving UVset names
- Remove frequent warning in Arnold/RenderMan shading workflows
What's Fixed
Fixed Issues from GitHub |
[Github #2372] Import: "useAsAnimationCache" flag not working MAYA-124459 |
[Github #2518] Export of bezierCurve type Curves is Incorrect MAYA-124789 |
General Fixed Issues |
mayaUsd.ufe.stagePath() returns incorrect value MAYA-126653 |
Changing the orientation of a pivot on a single prim changes it for all prims MAYA-123944 |
Variant switching must orphan pull information MAYA-125036 |
Undo of delete on ancestor of pulled node must not show incorrect variant MAYA-125101 |
Edit as Maya Data: merging pulled data while in a different variant arc breaks the variants connection MAYA-126179 |
Crash when Merging to USD in a file with prim that is saved in Edit As Maya state MAYA-126183 |
Maya Error message when switching a variant back to a pulled prim MAYA-126538 |
Variant switch does not orphan pulled Maya Reference MAYA-126891 |
Saving a root layer to a file name with the wrong extension crashes Maya MAYA-127327 |
Known Limitations
The following list of limitations remains in flux as development is ongoing.
USD stage creation workflow limitations
See Create a USD stage for more information
- Switching selected object variant can cause sync issues.
USD import and export workflow limitations
See USD import options and USD export options for more information
- The round-trip workflow is currently lossy (ie. contains a loss of information from compression).
- Mesh component level control is currently unsupported.
- Vertex/Edge Component tags are currently unsupported.
USD materials workflow limitations
See USD import options for more information
- Duplicate Shader Nodes in the Materials dropdown of the USD File Type Specific Options Menu:
Loading the latest MayaUSD plug-in will provide the
UsdPreviewSurface
shader node. Loading a previous version of the plug-in will provide a pxrUsdPreviewSurface
shader node. While both materials can import and export intrinsically to USD, loading both plugins into the same file will provide both nodes and create backward compatibility issues. The two nodes will correctly export to UsdPreviewSurface
, but importing the scene back into Maya will choose the first registered node (ie. selection is dependent on plug-in load order).
- Workaround: Have only one of the two aforementioned plug-ins loaded in Maya or ensure the first loaded plug-in is the preferred selection.
- USD core rendering backend HydraGL(Storm) is not fully supported in Maya (switching to Hydra render delegate from VP2 on a Maya scene can cause Maya to crash)
- Workaround: To ensure Maya's native VP2 render delegate can support the materials of a file, verify that the file's meta data inputs are importing correctly in Maya by using USD View. Generally, to achieve similar material results to an original file, convert to the original materials used on import.
Push/Pull workflow limitations
See edit as Maya data for more information
- USD data is unaware of Maya data inside in the mixed-data model:
- When Maya data is inside a USD hierarchy, its visibility isn't inherited from its USD ancestors.
- When Maya data is inside a USD hierarchy, reframing the Viewport on its USD ancestors will not include Maya data. Transforms can misconfigure when animating pulled USD data.
- When pulled Maya data is orphaned, the orphaned objects can still appear/ be visible in the Viewport.
- Edit as Maya is unavailable on material prims. A warning is provided.
Maya reference limitations
See add a Maya reference for more information
- When a USD object is in a pulled state, a mixed-data model will be active, where the pulled object will be Maya data, yet still inside of the proxyShape node or prim. When in this state, current limitations bar selection, hierarchy and other general expected behavious. For example, if you select the USD parent node of a pulled object, the Maya data nested inside will not be a part of that selection, which will not allow operations such as hiding objects etc.
- Editing a Maya reference as Maya data can cause targets to switch while caching to USD.
Display Layer limitations
See work with prims as display layers for more information
- Display Layer visibility works with all instanced geometry except for point instancers. The visibility toggle is unsupported for point instancers.
- Importing Maya files containing stages and display layers into Maya is not supported. Display Layer assignments will break during the import process.
Viewport display limitations
See the following Github discussion topic and USD data in the Viewport topic for more information
- When USD lights are created, nodes are added to draw lights in the Viewport. By default these light nodes are not ignored on render time and cause lighting issues at render time. These nodes can be filtered out by the translator using the following code:
// Skip UFE nodes coming from USD runtime
// Those will be handled by USD Imaging delegate
MStatus status;
static const MString ufeRuntimeStr = "ufeRuntime";
MPlug ufeRuntimePlug = dagNode.findPlug(ufeRuntimeStr, false, &status);
if ((status == MS::kSuccess) && ufeRuntimePlug.asString() == "USD") {
return; }