top of page
  • dennishebbard

Universal Scene Description & glTF : What is the deal here?

Universal Scene Description (USD) is a powerful new way of managing complex 3D assets and scenes for film, television, games, and other digital media. As technology continues to advance in the 3D production space, the need for a more efficient and flexible way to organize, manage, and transport large amounts of data has become increasingly important. USD is a file format and software system that has been designed to meet this need, and it has quickly become a popular solution for many studios and production companies. In this blog post, we'll take a closer look at USD, how it works, and why it's become a key tool in modern 3D production pipelines.


The visual effects (VFX) industry has rapidly evolved over the past few decades with the advent of new technology and techniques. The use of computer graphics is prevalent in VFX, leading to a need for a standardized method of exchanging data between different software applications. Universal Scene Description (USD) has emerged as one such solution, providing a robust and scalable framework for the exchange of data between different stages of a VFX pipeline.


What is Universal Scene Description (USD)?


USD is an open-source file format developed by Pixar Animation Studios, designed to provide a standardized method of exchanging data between different software applications used in the VFX industry. It provides a hierarchical structure for organizing data and allows for the exchange of data between different stages of a VFX pipeline, including asset creation, animation, lighting, and compositing.


One of the key benefits of USD is its ability to provide a centralized, scene-level representation of the data, which can be used by multiple applications at different stages of the pipeline. This allows for greater collaboration between different departments and reduces the need for manual data transfer, reducing the potential for errors and increasing efficiency.


USD also provides a modular architecture, allowing for the easy integration of new technologies and applications into the pipeline. This enables VFX studios to adopt new tools and techniques as they become available, without having to completely overhaul their existing pipelines.


What is glTF?


glTF (GL Transmission Format) is a file format for 3D scenes and models. It is designed to be efficient, compact, and easy to use, with features such as PBR (physically-based rendering) materials, hierarchical animations, and JSON-based data storage. glTF is used in various industries, including gaming, virtual and augmented reality, and the film and animation industry, for real-time rendering, asset exchange, and cross-platform compatibility. It is a standard for real-time 3D graphics in modern web and mobile applications.


USD or glTF? What to consider?


glTF and USD are both file formats for storing and exchanging 3D assets and scenes, but they have some differences:

Purpose:


glTF was designed specifically for real-time 3D graphics and is optimized for efficient storage and fast transfer of 3D assets. On the other hand, USD was designed for large-scale, complex productions that require sophisticated data management and cross-application collaboration.

Features:


glTF has limited support for advanced features like rigging, animations, and materials, while USD offers a rich feature set that includes support for complex materials, multiple animation clips, and other high-end VFX features.

Interoperability:


glTF is widely supported by a range of game engines, 3D tools, and other applications, making it easy to transfer assets between different platforms. USD, on the other hand, is designed to work seamlessly between multiple applications and tools, providing greater interoperability and collaboration between different departments and tools.

Performance:


glTF is designed for fast performance and low overhead, making it ideal for use in real-time graphics and gaming. USD, on the other hand, is designed to support large-scale, complex productions, and may have a higher overhead compared to glTF.


The choice between glTF and USD depends on the specific needs and requirements of a project. For real-time graphics and gaming, glTF is a good choice for its fast performance and wide support, while for large-scale, complex productions, USD is a better choice for its advanced features and greater interoperability

Instrumenting USD into my Pipeline


The implementation of USD into a VFX pipeline requires a certain level of technical knowledge and expertise, as well as careful planning and organization. It is recommended that studios work with experienced USD developers to ensure a smooth and successful implementation.


The first step in the implementation of USD into a VFX pipeline is the creation of an asset library. This library should include all of the assets needed for the production, including models, textures, and animations. The library should be organized in a hierarchical manner, making it easy for artists to find and use the assets they need.


Once the asset library has been created, the next step is to integrate USD into the pipeline. This typically involves the creation of custom scripts and tools that can be used to import and export data between different applications. It is also important to create a consistent naming convention for assets and to establish a clear process for data exchange between departments.


Once the integration of USD into the pipeline has been completed, it is time to start using it in production. Artists can begin by importing assets from the library into their preferred software application and making any necessary adjustments and refinements. They can then use USD to export the data, which can be imported into other applications for further processing.


Benefits of Implementing USD into VFX Pipelines


There are several benefits to implementing USD into VFX pipelines, including:

  1. Improved Collaboration: USD provides a centralized, scene-level representation of the data, allowing for greater collaboration between different departments and reducing the need for manual data transfer. This leads to increased efficiency and reduces the potential for errors.

  2. Increased Flexibility: USD provides a modular architecture, allowing for the easy integration of new technologies and applications into the pipeline. This enables VFX studios to adopt new tools and techniques as they become available, without having to completely overhaul their existing pipelines.

  3. Increased Accuracy: USD provides a standardized method of exchanging data between different software applications, reducing the potential for errors and increasing the accuracy of the data.

  4. Reduced Costs: USD reduces the need for manual data transfer and increases efficiency, leading to reduced costs for VFX studios


Benefits of Implementing USD into VFX Pipelines


Integrating Universal Scene Description (USD) with glTF can provide numerous benefits to a CGI/3D studio, including improved asset exchange, real-time collaboration, and streamlined workflows.


What about games!


The use of USD in video game production and VFX can differ in several ways:

  1. Performance: In video games, real-time performance is crucial and USD can sometimes be too heavy for some real-time applications, whereas in VFX, rendering times are usually not as critical and USD's ability to handle large amounts of data efficiently can be an advantage.

  2. Data exchange: In video games, there is often a need to exchange data between different tools and engines, and USD provides a common interchange format that can simplify this process. In VFX, there are often multiple tools and pipelines involved, and USD can help to streamline the exchange of data between these systems.

  3. Workflow: In video game production, the workflow is often more focused on real-time performance and optimized for game engines, whereas in VFX, the focus is on high-quality offline renders and the workflow is optimized for VFX software.

  4. Tool compatibility: In video games, not all tools and engines may support USD, so compatibility issues may arise when trying to exchange data between different tools. In VFX, USD is widely adopted and supported by many VFX software packages, which makes data exchange easier.

Overall, the use of USD in video game production and VFX can bring different challenges and benefits, and the choice of file format will depend on the specific requirements of each project.


Complexities to Consider


Adopting a USD-based CGI pipeline can be complex due to several factors:

  1. Learning curve: USD is a complex format with a steep learning curve, as it has a wide range of features for organizing, sharing, and manipulating 3D scenes.

  2. Integration: Integrating USD into an existing animation pipeline may require significant time and effort to set up and test, especially if the current pipeline uses different file formats.

  3. Tool compatibility: Not all tools and software support USD, so compatibility issues may arise when trying to exchange data between different tools.

  4. Performance: USD is designed for handling large amounts of data efficiently, but this may come at the cost of slower performance for real-time rendering compared to other file formats.

  5. Technical knowledge: Implementing a USD-based pipeline requires a good understanding of computer graphics, as well as the USD file format and its associated tools.

However, despite these complexities, USD provides a lot of benefits in terms of flexibility, scalability, and interoperability between different 3D graphics software. With careful planning and investment in training and development, the transition to a USD-based pipeline can lead to a more efficient and streamlined animation pipeline in the long run.


Here's a step-by-step guide for integrating USD with glTF:


Install the USD GLTF plugins: To start, the studio will need to install the USD glTF plugins, which are available for free from the Pixar Animation Studios website.

Create USD assets: Next, the studio will need to create USD assets using its preferred modeling software, such as Maya or Houdini. This will involve converting existing models into USD assets or creating new ones from scratch.

Export USD assets as glTF: Once the USD assets are created, they can be exported as glTF files using the USD glTF plugins. The plugins provide options for exporting static models or animated sequences, as well as the ability to control the level of detail and texture compression.


Import glTF assets into Unreal Engine: With the USD assets exported as GLTF files, they can be easily imported into Unreal Engine, allowing the studio to take advantage of the real-time rendering capabilities of the engine.

Streamline workflows: By integrating USD with glTF, the studio can streamline workflows and improve collaboration between artists, as glTF files are compatible with a wide range of tools and platforms. This allows for easy asset exchange and collaboration between artists, reducing the need for manual conversions and reducing the risk of data loss.


Enhance the visual quality of projects: Finally, by utilizing the real-time rendering capabilities of Unreal Engine, the studio can enhance the visual quality of its projects, improving the overall experience for viewers.

Integrating USD with glTF can provide numerous benefits to a 3D/CGI studio, including improved asset exchange, real-time collaboration, and streamlined workflows. By following these steps, the studio can take advantage of the best of both USD and glTF, enabling it to create high-quality, real-time projects that are more efficient, cost-effective, and visually stunning.



Other interesting formats to keep tabs on


  • OBJ (Wavefront Object) is a simple file format for 3D models that can be easily imported and exported by most 3D graphics software. It's mainly used for exchanging geometry and materials between different 3D programs.

  • FBX (FilmBox) is a proprietary file format developed by Autodesk for exchanging 3D data and animations between different 3D software packages. FBX supports a wide range of features such as geometry, materials, lights, cameras, bones and animations.

  • Alembic is a computer graphics interchange format for storing and exchanging complex 3D scenes, animations and VFX data. It is designed to handle large amounts of data efficiently and is used in various industries including film, VFX and video games.

  • BVH (BioVision Hierarchy) is a file format commonly used for real-time motion capture. It's a simple text-based format that stores the hierarchical structure of a skeleton, along with the position and orientation data of each joint over time. BVH files are widely used in animation, virtual reality, and video game development.

  • GLTF (GL Transmission Format): is a royalty-free file format for efficient transmission and loading of 3D scenes and models. It's used for real-time rendering and is supported by many game engines and web browsers.

  • COLLADA: is an XML-based file format for exchanging digital assets between 3D authoring tools and game engines.

  • STL (STereolithography): is a file format for 3D printing, it's also used for some real-time rendering and animation.

  • CDF (Character Animation Data Format): is a file format used for storing character animation data, such as motion capture and keyframe animation.



bottom of page