Introduction
USD is Pixar’s format and toolkit for describing 3D scenes, developed for its film pipeline and released as open source in 2016. It is now developed as OpenUSD. Its strength is composition: a scene can be assembled from many files, each adding or overriding parts of another, so that different artists can work on the same shot at once without overwriting each other.
The same scene description comes in several files. .usda is readable
text, .usdc is a compact binary form called Crate, and .usd
may be either. .usdz is an uncompressed ZIP package of USD files and their
textures, which Apple uses for augmented reality on iPhone and iPad.
Structure
A USD scene is a tree of prims, each with a path such as /World/Chair,
a type such as Xform or Mesh, and attributes whose values
may change over time. Layers combine through references, payloads, sublayers and
variant sets.
A text layer starts with #usda 1.0. A Crate layer starts with the bytes
PXR-USDC. A USDZ package is a ZIP file whose entries are stored without
compression and aligned to 64 bytes, so a reader can use the data where it lies.
#usda 1.0
(
defaultPrim = "World"
)
def Xform "World"
{
def Sphere "Ball"
{
double radius = 0.5
}
}
Links
Software
- usdview, Pixar’s viewer, part of OpenUSD (Windows, macOS, Linux)
- Blender (Windows, macOS, Linux)
- Houdini (Windows, macOS, Linux)
- Autodesk Maya (Windows, macOS, Linux)
- NVIDIA Omniverse (Windows, Linux)
- Apple Quick Look, for USDZ (macOS, iOS, iPadOS)
Developers
- OpenUSD, Pixar’s C++ library with Python bindings
Reference
- OpenUSD documentation, Pixar