explaingit

pixaranimationstudios/openusd

7,251C++Audience · developerComplexity · 4/5Setup · hard

TLDR

OpenUSD is Pixar's open-source 3D scene description system that lets film, VFX, and games software share geometry, animation, lighting, and materials through a common file format.

Mindmap

mindmap
  root((OpenUSD))
    What it does
      Common 3D format
      Cross-app scene sharing
      VFX pipeline glue
    Scene Contents
      Geometry meshes
      Lighting rigs
      Cameras
      Time-sampled animation
    Workflow Features
      Layer compositing
      Non-destructive edits
      Multi-department pipeline
    Developer Tools
      C++ library
      Python bindings
      usdview inspector
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Exchange 3D scenes between modeling software and a rendering engine without manual format conversion

USE CASE 2

Write Python scripts that procedurally generate or modify USD scene files for an automated VFX pipeline

USE CASE 3

Inspect a USD file from any software tool using the included usdview standalone viewer without a commercial 3D application

Tech stack

C++PythonWebAssembly

Getting it running

Difficulty · hard Time to first run · 1h+

Requires a C++ compiler and several build dependencies, the included build_scripts/build_usd.py script downloads and compiles most of them automatically.

License not mentioned in the explanation.

In plain English

OpenUSD, which stands for Universal Scene Description, is a system created by Pixar Animation Studios for describing 3D scenes in a format that multiple graphics programs can read and write. Think of it as a shared language for 3D content: you might build a scene in one application, save it as a USD file, and then open it in a completely different application without losing the 3D objects, lighting, cameras, or animation data. The original problem this solves comes from the film and visual effects industry. Large productions involve many different software tools working on the same assets, and getting them to talk to each other has historically been difficult. USD gives those tools a common format so that a scene can flow from modeling software to a lighting tool to a rendering engine without constant manual conversion. At a technical level, USD handles geometry, shading materials, lighting rigs, cameras, and time-sampled animation, meaning it stores how objects change position or shape over time. Files can be layered on top of each other, so different departments can work on separate pieces of the same scene and then combine them without overwriting each other's changes. The project ships as a C++ library with optional Python bindings, so developers can write scripts to create or modify USD content. It also includes usdview, a standalone viewer for inspecting USD files without a full commercial application. Building it requires a C++ compiler and a few other tools, and there is a build script that handles downloading and setting up those dependencies automatically. The library runs on Linux, macOS, and Windows, and can also be compiled for iOS, visionOS, and web browser environments using WebAssembly.

Copy-paste prompts

Prompt 1
Write a Python script using the OpenUSD pxr library that creates a USD stage with a sphere mesh, a distant light, and a perspective camera, then saves it as scene.usda.
Prompt 2
How do I use usdview from the command line to open a .usda file, navigate the scene hierarchy, and inspect a specific prim's attributes?
Prompt 3
I'm setting up a VFX pipeline where one artist works on geometry and another on lighting. Show me how to use USD layers and composition arcs so neither artist overwrites the other's work.
Prompt 4
How do I load OpenUSD's Python module in a script and read the transform matrix of every mesh prim in a .usd file? Give me working code.
Open on GitHub → Explain another repo

← pixaranimationstudios on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.