OpenUSD v25.05 is now available on GitHub, and its core non-imaging libraries can be installed via PyPI with the command line.
1 |
pip install usd-core |
This release expands support in many domains, from accessibility to physics co-simulation, continuing to lay the groundwork across a wide variety of use cases. Documentation has been improved with many more user guides, and a key compatibility issue has been addressed when creating new Crate files.
AccessibilityAPI Schema
The best technology works for everyone, in ways that work best for each of us. That’s why OpenUSD has added support for accessibility annotations via the AccessibilityAPI schema. This schema was designed together with experts at Apple who work closely with members of disability communities to develop accessibility features. It adapts common accessibility metadata paradigms to OpenUSD and 3D scenes.
Creators can apply the AccessibilityAPI to any prims in the scene hierarchy, augmenting them with information that can be used by assistive technologies in the future. This allows content to reach a broader range of people, and helps create more inclusive experiences.
More details on the AccessibilityAPI schema are available in its original proposal and the API documentation.
Value Resolution of Spline Animation
Attribute value resolution now supports animation splines. This means that USD content that has spline-animated attributes will render with the expected timing in usdview. The underlying spline representation also now supports piecewise-linear approximation to a region of the spline. This approximation is suitable for drawing the spline in editing and visualization tools.
UsdPhysics Schema Parsing
The UsdPhysics Parsing Utilities provides a consistent physics representation as descriptors suitable for the entire stage to be partitioned for co-simulation across multiple physics engines. This approach to co-simulation is vital for integrating robotics and many industrial simulations into digital twins.
Color Space Improvements and User Guide
Color spaces in OpenUSD are now aligned with those published in the Color Interop Forum Recommendations. More details can be found in the Color User’s Guide and Color Programmer’s Guide that have also been introduced in this release.
UsdGeomCamera exposure controls
Cameras now support exposure controls, which are needed for physical lighting as outlined in a proposal that clarifies the quantities and behavior of lights in UsdLux.
Default MaterialX upgraded to 1.39.3
Thanks to a collaboration with the MaterialX community, OpenUSD now builds with MaterialX 1.39.3 by default, moving up from 1.38.10. This adds support for many new features in MaterialX including support for the OpenPBR shading model.
Documents using MaterialX 1.39 must make sure to use the MaterialXConfigAPI to allow for systems to know what MaterialX version a shading graph is intended for.
Crate 0.8.0 is the canonical minimum for USDC
OpenUSD v25.05 sets the minimum crate version and default version for new USDC files to 0.8.0, to increase compatibility with older versions of OpenUSD. Documents will automatically upgrade to newer Crate versions upon saving when using features introduced after 0.8.0, such as animation splines and path expressions..
This decision also addresses feedback from OpenUSD v25.02, which had defaulted new Crate files to 0.10.0, resulting in content incompatibilities even for documents that were not using newer features.
Support for versions of Crate prior to 0.8 are being deprecated, and it is recommended to update any older assets prior to the removal in future versions of OpenUSD. usdcat can be used to re-export crate files to automatically version them up.
See the AOUSD forums for more details.
- Ndr Deprecation
- The Ndr (node definition registry) library has been deprecated. Affected code can be updated to Sdr (shader definition registry) per instructions in the AOUSD Forums.
New Additions to User Guides
OpenUSD v25.05 adds many new user guides, including documentation for UsdLux, Primvars, and UsdUI. In addition, an entry has been added to the glossary to clarify the distinction between timeCodesPerSecond and framesPerSecond.
Vulkan build support
OpenUSD’s build script now adds a command-line option to enable support for Vulkan as a graphics backend alongside OpenGL and Metal. Vulkan support continues to mature since being integrated with OpenUSD’s interactive Storm renderer in OpenUSD v24.08, and is currently supported on Windows and Linux.
Upcoming move to VFX Reference Platform 2023
OpenUSD v25.05 supports a baseline of VFX Reference Platform 2022. Starting with OpenUSD v25.08, the build platform will be moving to a baseline of VFXPlatform 2023. Please refer to https://vfxplatform.com/ when assessing how this may affect build configurations.
Check out the full release notes on GitHub.
Interested in learning more about using OpenUSD? Take courses from NVIDIA’s free Learn OpenUSD series. To learn more about common use cases for Python with OpenUSD, read the technical blog, Using Python to Automate 3D Workflows with OpenUSD.
If your company would like to join the Alliance for OpenUSD, sign up to become a member. Follow AOUSD on Facebook, Instagram, LinkedIn, X, and YouTube, and get support from our community of artists, designers, and developers in our forum.