Awesome
<p align="center"> <a href="https://github.com/matiascodesal/awesome-usd"><img alt="awesome" src="https://github.com/matiascodesal/awesome-usd/blob/c51c80497c0aee22a4f6172fda22cc8bfd3f8586/images/AwesomeUSD_2by1_sm.png" width="480" /></a> </p> <p align="center"> <a href="https://awesome.re"><img alt="awesome" src="https://awesome.re/badge.svg" /></a> </p>Awesome OpenUSD
A curated list of awesome Universal Scene Description (OpenUSD) 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 OpenUSD?
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
- What is USD? (The basics of Pixar’s 3D file format in 15 minutes) – Artist-friendly video introduction to OpenUSD.
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.
- NVIDIA USD Developer YouTube Series – Intro video series covering the top unique features of OpenUSD.
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.
- USD Notice Framework – A USD plugin from WDAS with a set of software APIs for managing the flow of notifications that are emitted when authoring USD stages.
- 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)
- tinyusdz – Tiny, dependency-free USDZ/USDA/USDC library written in C++14
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
- 3Delight|NSI – Hydra render delegate for 3Delight resp. any renderer implementing the NSI API.
- Arnold USD – Arnold Hydra render delegate and schemas.
- Blackbird (Blender Cycles) – Blender Cycles Hydra render delegate from Tangent Animation.
- LuxCoreRender – LuxCoreRender Hydra render delegate.
- Moonray - Hydra render delegate for Dreamworks Animation's Moonray.
- 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++.
File Format Plugins
- Multiverse – non-destructive import/edting of USD for Maya and other DCCs.
- 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.
- 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.
- USD Plugin Samples – USD schema extension samples, build tools, and sample kit extensions that use those schema extensions from NVIDIA.
- 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.
- Essentials of USD in Omniverse – Fully web-hosted course to learn USD for developers in Omniverse.
- USD Survival Guide – An onboarding guide for software engineers and pipeline TDs with practical and production examples.
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
You can now find the latest products using OpenUSD on openusd.org.