Awesome USD
A curated list of awesome Universal Scene Description (USD) resources and projects. These are hand-picked resources and projects that I find awesome. You might find more or others at the ASWF USD Working Group Wiki.
Curated by @maticodes
Contents
What is USD?
Non-Technical Explanation
- A USD primer for ARTISTS - Video explanation focused for artists with some overview of Maya workflows. Short and sweet.
- What is USD: A Primer | Rob Stauffer | SIGGRAPH 2019 - Longer video, but more complete explanation of stage composition.
- Five Things to Know About USD
Technical Explanation
- Introduction to USD - The official OpenUSD site provides a brief intro and overview.
- Understand USD Fundamentals - An introductory overview video of USD with examples.
- What Makes USD Unique in NVIDIA Omniverse - Short high-level overview of USD and what makes it unique.
Libraries & Tools
- OpenUSD Github Repository - The main repository for the Universal Scene Description (USD) project.
- usd-core - usd-core Python package on pypi. Use the USD core Python API without having to build USD.
- UsdQt - Resuable Qt components for building custom USD tools from Luma.
- usdtweak - USD editing tool. Kind of like usdview with editing capabilities.
- USD Manager - Tool from DreamWorks Animation for browsing, managing, and editing USD files.
- USD Shell Extension - Tool from Activision that adds Hydra Preview, thumbnails, context menus, and metadata search to Windows Explorer.
- UsdNodeGraph - Node graph for visualizing and editing USD files. Maya and usdview embeddable.
- USD Rust Bindings - Rust bindings for USD.
- Luma URI Resolver - Luma's example URI asset resolver.
- S3 Resolver - An Amazon S3 and MySQL asset resolver.
- usdstubgen - Generates python stub filles (.pyi) for USD Python API for static type analysis and code completion.
- Switch - A simple built on USD and Hydra.
- Autodesk USD WebASM - USD running on the browser and a Three.js Hydra render delegate. Demo
- USDZ Web Viewer - View USDZ files in the browser. Builds on Autodesk's related work. USDZ Loader Github Viewer Github
- UsdSkel Util - Utilities for use with the UsdSkel schema
- Apple Schemas - USDZ schemas for AR (e.g. Anchoring, Behaviors, Text)
Converters
- guc - glTF to USD converter than boasts near-lossless material translation via MaterialX
- USD from glTF - gltf to USD converter focused on AR Quick Look support.
- gltf2usd - glTF to USD converter with ARKit/USDZ support.
- ptc2usd - Converts Pixar's PTC and Houdini JSON point clouds to USD.
- Omniverse Asset Converter - Python API and microservice for converting FBX/glTF/OBJ to USD.
- fspy-USD - Converts fSpy camera matching file to USD.
Hydra
- Arnold USD - Arnold Hydra render delegate and schemas.
- Blackbird (Blender Cycles) - Blender Cycles Hydra render delegate from Tangent Animation.
- LuxCoreRender - LuxCoreRender Hydra render delegate.
- gatling - Hydra render delegate for GPU-based path tracer.
- OSPRay - Hydra render delegate for Intel's OSPRay.
- Radeon ProRender - Hydra render delegate for AMD's Radeon ProRender.
Text Editor Plugins
- usd-idea - PyCharm plugin adding syntax highlighting, reference linking, brace matching/folding, etc.
- VS Code USD Language Extension - From Animal Logic, adss syntax highlighting and reference linking.
- usda-syntax - Syntax Highlighting for USDA files in vim, emacs & sublime.
- Notepad++ Syntax Highlighter - USDA file syntax highlighting in Notepad++.
FileFormat Plugins
- usdat - A FileFormat plugin from DreamWorks Animation that enables working with templating in USD files.
Sample Assets
Scene and other assets put together to test USD features and as examples of how to compose your assets and stages.
- Pixar Sample Assets - Kitchen Set, City Set, UsdSkel Examples.
- NVIDIA Sample Assets - Marbles Sample, Attic Sample
- Animal Logic - USD ALab
- Disney Moana Island Scene - Full island scene data from Moana animated feature film.
- Lowe's Open Builder - Over 500 furniture models from the Lowe's catalog in USDZ format.
- Intel Sample Assets - Provided under ASWF license by Intel.
- ASWF USD WG Assets - Test assets and asset guidelines from the ASWF USD Working Group.
- SideFX Sample Assets - Mexican Still Life, Elephant Seal, Bar Scene, Market Scene.
- Blender Sample Assets
- J Cube Sample Assets - USD Esper Room scene and USDZ Maneki asset.
- Apple Sample Assets - Quick Look sample USDZ.
- Heri Sample Assets - Water, debris, and chess set.
- McUsd Sample Assets - Simple geometry with a variety of UsdPreviewSurface materials for material and light testing.
Learning
Non-Technical Learning
- Book of USD - A less technical introduction and overview of USD and its terminology by Remedy Entertainment.
Technical Learning
- NVIDIA's USD DLI Course - Free intro course completely in the browser running on JupyterLab.
- Pixar USD Tutorials - 14 modules with step-by-step instructions showing how to use the Python API and the results in USDA and usdview
- NVIDIA's Python USD Tutorial - A brief tutorial of working with USD using the Python API.
- ASWF USD-WG Presentations - Interesting presentations from the ASWF USD Working Group.
- USD Plugin Examples - Simple examples to demonstrate how to compile and build USD plugins.
- Tiny USD program - A really small getting-started program for USD on Windows.
- USD at Remedy Entertainment - Presentation about how Remedy Entertainment uses USD for gamedev.
References
- USD C++ API Documentation - The primary USD C++ API documentation.
- NVIDIA's Python API Notes - A primer for USD Python API usage.
- Colin Kennedy's USD Cookbook - Basic to advanced examples of USD in C++, Python, and USDA formats.
- usd-interest Google Group - Search years through years of USD questions or ask one here.
- ASWF USD Working Group - Information about the ASWF USD Working Group.
- usd-core on Google Colab - Example showing how you can use usd-core on Google Colab notebooks.
- USD Imaging on Google Colab - Example showing how you can use USD Imaging on Google Colab notebooks.
Integrations
- 3Delight - Hydra render delegate [Gitlab]
- 3ds Max - Import, Export, via Omniverse
- AnimVR - Import
- Archicad - via Omniverse
- Arnold - Hydra render delagate and custom schemas. [Github]
- Blender - A couple of different import/export implementations (usd branch, AMD) and the Cycles Hydra render delegate.
- CAD Exchange - Convert between various CAD formats including USD.
- Character Creator - Export, via Omniverse
- Cinema 4D - Import, Export
- CityEngine - Import, Export, Omniverse Unidirectional Livesync
- Clarisse - Import, Export
- Creo - via Omniverse
- Fusion 360 - Export
- Gaffer - Authoring, Import, Export
- Guerilla Render- Import
- Golaem - Dynamic FileFormat plugin [Github]
- Houdini - Native authoring, Import, Export, via Omniverse
- iClone - Export, via Omniverse
- Katana - Import, Export, Hydra viewport
- Mari - Import, Export
- Maya - Import, Export [Github]
- Millefiori - MPC's USD-based Sequence Editor
- Mineways - Export
- Modo - Import, Export
- Multiverse - Maya plugin offering USD interop.
- Nuke - Import, Hydra Viewport
- NVIDIA Omniverse - Native authoring, Import, Export, Hydra viewport, custom schemas
- NXT - Native authoring
- OpenPype - USD resolver
- ParaView - via Omniverse
- PlantCalatog - Export, via Omniverse
- PlantFactory - Export, via Omniverse
- Quick Look - Apple's USDZ AR Viewer
- Radeon ProRender - Hydra render delegate [Github]
- Reality Composer - Import, Export USDZ
- Revit - third-party export plugin, via Omniverse
- Rhino - via Omniverse
- Shapr3D - USDZ Export
- Shogun - Import, Export
- SketchUp - via Omniverse
- Substance 3D Painter - Export, via Omniverse
- Substance Designer - SBSAR FileFormat Plugin via Omniverse
- SynthEyes - Export
- TiltBrush - Export
- Unity - Import, Export [Github]
- Unreal Engine - Import, Export, Native reading, via Omniverse
- VUE - Export, via Omniverse
- V-Ray - Hydra render delegate and USD procedural
- ZBrush - Import, Export