Omniverse USD Resolver#
Omniverse USD Resolver is an implementation of OpenUSD’s ArResolver plugin abstraction. It’s sole purpose is to identify and resolve an asset in OpenUSD against a backing asset management system.
Documentation#
The latest documentation can be found at http://omniverse-docs.s3-website-us-east-1.amazonaws.com/usd_resolver/
Downloading#
You can get the latest build from Packman. There are seperate packages for each usd flavor, usd version, python version, platform, and configuration.
They are all named: omni_usd_resolver_{usd_flavor}_{usd_version}py{python_version}.{platform}.{config}
usd_flavor / usd_version is one of:
usd 24.05
usd 24.03
usd 23.11
nv-usd 22.11
usd-minimal 24.05
(see
repo_usdfor the full list)
python_version is one of:
0
3.10
3.11
platform is one of:
windows-x86_64
manylinux_2_35_x86_64
manylinux_2_35_aarch64
config is one of:
release
debug
All packages use the same versioning scheme:
{major}.{minor}.{patch}
Initializing#
USD, Python & Client Library#
The package includes redist.packman.xml which point to the versions of USD, Python and the Omniverse Client Library
that this plugin was built against. You can include it in your own packman.xml file like this:
<project toolsVersion="5.0">
<import path="../_build/target-deps/omni_usd_resolver/deps/redist.packman.xml">
</import>
<dependency name="usd_${config}" linkPath="../_build/usd-deps/usd/${config}">
</dependency>
<dependency name="python" linkPath="../_build/usd-deps/python">
</dependency>
<dependency name="omni_client_library" linkPath="../_build/target-deps/omni_client_library">
</dependency>
</project>
NOTE: This must be in packman.xml file that is pulled after pulling this package. You can’t put it in the same packman.xml as the one that pulls this package.
This requires packman 6.4 or later.
Registration#
You must either copy the omni_usd_resolver plugin to the default USD plugin location, or register
the plugin location at application startup using PXR_NS::PlugRegistry::GetInstance().RegisterPlugins.
Be sure to package both the library (.dll or .so) and the “plugInfo.json” file. Be sure to keep the folder structure the same for the “plugInfo.json” file. It should look like this:
omni_usd_resolver.dll or libomni_usd_resolver.so
usd/omniverse/resources/plugInfo.json
If you use RegisterPlugins, provide it the path to the “resources” folder.
Otherwise, you can copy the entire ‘debug’ or ‘release’ folders into the standard USD folder structure.
References#
License#
The NVIDIA Omniverse USD Resolver is governed by the NVIDIA Agreements | Enterprise Software | NVIDIA Software License Agreement and NVIDIA Agreements and NVIDIA Agreements | Enterprise Software | Product Specific Terms for Omniverse