OpenUSD
Universal Scene Description
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.
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.
Where it fits
- Exchange 3D scenes between modeling software and a rendering engine without manual format conversion
- Write Python scripts that procedurally generate or modify USD scene files for an automated VFX pipeline
- Inspect a USD file from any software tool using the included usdview standalone viewer without a commercial 3D application