USD in Katana
Katana 7 saw further enhancements to support the industry adoption of USD. Artists can take advantage of USD's fast and efficient scene management capabilities while still utilizing Katana's interactive rendering, flexible shading system, and advanced lighting techniques.
What is USD?
USD, or Universal Scene Description, is an open-source framework developed by Pixar Animation Studios. It is engineered for scalability and is designed to efficiently manage and describe large-scale 3D scenes and assets. USD enables pipelines to work collaboratively with assets and scenes, assembling, disassembling, reading, writing, editing, and exchanging complex 3D content between various applications seamlessly. It provides robust tools for referencing, layering, and composing scenes, ensuring both versatility and collaborative efficiency in production workflows.
Note: For an introduction to USD, see Pixar’s Guide to USD.
How USD Helps Lighting and Look Development
USD offers numerous advantages to VFX and animation studios, improving both collaboration and efficiency within their pipelines.
-
Streamlined Asset Management - USD ensures consistent asset representation, simplifying shader, texture, and light rig management across various look dev and lighting tools. With many industry-standard tools adopting USD, such as Maya, Houdini, Mari, and Nuke, it becomes much easier to exchange 3D data between different applications and pipelines.
-
Efficient Collaboration -The layering system also offers a neat way of dividing areas of responsibility across the pipeline. Multiple artists can work on the same scene simultaneously, with one working on look dev while another focuses on a different task. When complete, the results can be published as layers into the same USD stage.
USD's composition engine ensures that all changes are efficiently combined. This effectively eliminates the “waterfall” approach to production, where departments are dependent on the completion of work at the previous stage in the pipeline.
-
Viewport Improvements -The Hydra rendering architecture alongside USD offers high-quality, real-time previews and supports various render engines. This enables look dev and lighting artists to receive instant feedback, making the iterative process more efficient.
-
Variants - USD supports the concept of variants, which let you maintain multiple alternative representations or configurations of assets. They offer an organized way to dynamically switch between versions of the same asset, enabling flexibility in production. Variants are grouped into sets of related assets, allowing you to easily pick from the set. For example, you might have multiple clothing options for a character, or different levels of detail for a mesh to tailor complexity at different stages of the workflow.
-
Scalability - USD is designed to handle complex scenes efficiently. This ensures that even when dealing with sophisticated lighting setups or intricate shaders, performance remains optimized.
-
Asset Sharing and Interchange - USD makes it easier to share assets between departments. A look dev artist can create a shader and, using USD, that shader can be consistently applied and viewed by artists in other departments, such as animation or layout.
-
Deferred Loading (Payloads) - Payloads enable artists to load only the required parts of the scene for their work. For example, a lighting artist can delay loading geometry, attributes, or layers until they are necessary. This reduces performance and memory usage when dealing with heavy assets.
-
Rich Metadata - USD allows for storing metadata, which can be used for asset tracking, version history, automation tasks, and other important details about shading or lighting decisions.
-
Proceduralism - Given USD's compatibility with procedural systems, it can facilitate dynamic changes. For example, adjusting a procedural shader parameter can change the look across multiple assets.
In general, USD's innovative approach to 3D graphics data interchange brings significant value to VFX and animation studios. It enables enhanced collaboration, non-destructive editing, a standardized format, asset reusability, and eliminates the restrictive waterfall workflow. USD revolutionizes VFX studio workflows, leading to more efficient pipelines.
Enhanced USD Support
Katana started its USD integration journey by incorporating Pixar's UsdIn suite, which allows artists to import USD into Katana and includes some limited tools for manipulating that data. In addition, we introduced the UsdMaterialBake node, offering a versatile framework for exporting materials and lights.
Katana 7 saw the introduction of the following features:
New Nodes for Native USD Stage Creation and Manipulation
We introduced new nodes coupled with an underlying framework that allows for native USD manipulation.
Note: All full set of links to the reference guide topics for each node can be found in USD Nodes.
The nodes are classified according to the following types:
Composition - New nodes for scene composition determined by LIVRPS ordering. These are guidelines ordered by Local, Inherits, VariantSets, References, Payload, and Specializes that determine how pieces of a 3D scene work together effectively. For example, UsdSubLayerAdd to add a layer to the stage.
See USD Nodes: Composition for links to the reference guide topics.
Note: In Katana 7, VariantSets are not included for authoring but you can change which variant is used via the UsdVariantSet node.
-
Prims - Two new nodes to let you create and modify schemas.UsdPrimCreate for prim generation and overriding, and UsdSchemaSet to assign a schema API to a prim.
For both nodes, Katana speeds up the workflow by tailoring the UI to the selected prim or schema type automatically. Simply select a type, and the node properties are dynamically populated with the matching parameters.
-
Properties -New nodes for essential stage modifications. For example, UsdTransformSet to apply a transform to a prim.
See USD Nodes: Properties for links to the reference guide topics. -
Supertool - The USD in Katana Supertool - Lets you convert USD data into Katana data so that you can continue to work with Katana’s Geolib nodes.
-
Other (Pipeline/TD Tools) - We’ve added a UsdLayerWrite node so that you can take or create a scene description stored as .usda, edit it, and manually write it to the stage. This is useful when you need to quickly add content to locations in the scene. Plus, UsdPythonWrite gives you the power of Python to author USD layers.
Scene Explorer
The Scene Explorer tab provides a unified scene graph view of both USD and Katana data so that you can easily traverse and manipulate the hierarchical structure of the entire asset library.
For more information see USD Scene Explorer.
USD Properties Viewable in the Attributes Tab
We’ve integrated USD property inspection into the Attributes tab, making it easy to check the attributes and relationships for a prim in the scene. Just click on a prim in the Scene Explorer to see the data in the Attributes tab.