Universal Scene Description (USD) was invented by Pixar to help them assemble and interchange movie scenes. Since Pixar open-sourced USD in 2016, it has grown to become the interchange format that brings consistency and interoperability to 3D artists when building three-dimensional and immersive locations, scenes or environments, including multiverses and digital twins.
A USD layer stack that a user sees and interacts with includes a number of digital assets that assemble the scene. Some describe objects, their shapes and appearance. Others describe their locations and how they interact.
The composed result of each USD layer stack is called the Stage. Objects are defined and placed within the Stage using a hierarchical collection of data structures called Prims. Each comes with a collection of Properties which spell out all of the details of the objects like their radius, opacity or their orientation. Building a scene mostly involves populating the big hierarchical tree of Prims with the right properties.
An example of a very simple Stage with a ball in the middle of it:
def Sphere “ball”
{
float3[] extent = [(-2, -2, -2), (2, 2, 2)]
color3f[] primvars:displayColor = [(0, 0, 1)]
double radius = 2
}
USD schemas support a wide variety of properties that define the object and how it’s rendered for the screen, such as colour and the physical properties of natural items. NVIDIA’s Material Definition Language (MDL) defines how light behaves when it bounces off a fabric or solid, for example. Sparse, non-destructive authoring within USD’s composition engine makes editing more efficient. Content creators can use hierarchical structures used in object-oriented programming, for example.
Objects can both have their own individual aspects and derive details from more general models or templates. Objects can be grouped together into sets and layers that can be manipulated as one. Operations to add, change or reorder properties of the Prims are designed so that only a few basic operations can morph an entire scene, so designing an effect doesn’t involve applying many small changes to each individual Prim.
USD is also designed to evolve with time. Data modelling schemas and asset resolvers for resource location are extensible. A system of plugins is developing to cater for the most demanding power users. Data structures simplify parallel execution by multi-threaded code running on multiple cores and processors, especially the latest and fastest GPUs. Simulators are arriving that can build out scenes with working, moving objects by using properties like the bounciness or the strength of the materials.
If you would like to know more about USD and how it can improve your creative processes and workflow, Mondatum would be happy to offer advice and support – contact@mondatum.com.
Source: Venturebeat
Main image: model by Christina Fen @ Pixar, HDRP lighting by Laurent Harduin