The SimReady Specification
The SimReady specification represents an effort to help you understand the processes involved in creating your 3D assets so that they are valuable for machine learning and simulation needs. The question of why build this new standard can be answered as follows.
Goals for the SimReady Specification
While many artists can build 3D assets to photo-real standards, very few understand how to conform their 3D assets so that a machine learning researcher, factory planner or data scientist can take those assets and quickly incorporate them into their work, whether the goal is to create new algorithms for autonomous driving, or to simulate the layout of a new factory design to identify bottlenecks. These content consumers are often not 3D artists, and as such, having to manually configure or fix random 3D assets so that they work within their simulation environment is a huge barrier. Mixing and matching licensed 3D content also forces these users to become responsible for making sure those same 3D assets work within their simulation, and they don’t have that expertise. Simply put, most simulation creators want to license and consume 3D content that is purpose-built for simulation.
Given the rapidly growing need for this sort of content, the SimReady specification provides best practices for the creation of additional metadata needed to make 3D assets useful right away within a simulation platform like Omniverse. This includes the addition of semantic labeling, rigid-body physics and physical material association.
What is a SimReady Asset?
A SimReady 3D asset is designed to be immediately useful within a USD-compliant simulation environment (like Omniverse). There is a preliminary specification of what SimReady currently represents that you can review here.
It’s worth noting right away that SimReady assets aren’t intended to be represented by just a single USD file. The intent of SimReady is to leverage the modularity of the USD platform, giving you the ability to compose assets that can be updated over time without having to rebuild them entirely from scratch. Think of them as packages of consistent “Lego bricks” that are combined to describe a single object or mechanism. Consideration has been made to ensure that SimReady assets can be used at scale within a stage composition (hundreds or thousands of instances that are memory efficient), but that they can also be recognized by machine learning algorithms and be configured or tailored based on your specific needs. While the specification provides suggestions on how you should consider constructing SimReady assets, it doesn’t preclude you from creating assets in other ways. USD is flexible, and SimReady should be equally flexible.
The concept is built on the premise that same SimReady asset you might want to deploy for synthetic data generation, which may only need semantic labeling to tell the computer what it is “seeing”, can also be deployed for physics simulations through the inclusion of modular USD physics attributes, which can dynamically add collider bodies and physical materials on the fly - loading them only when you need them. Re-use and modularity are the keys here.
A SimReady asset is also designed to act as a consistent “ground truth” starting point for you when you want to customize or tune your library for a particular machine learning need. Instead of having to rework your entire library of existing assets individually, you can further leverage the modular construction of a SimReady asset to define where new properties and attributes can be applied so that you can augment baseline SimReady files non-destructively.
Types of SimReady 3D Assets
As this is a brand new specification, it currently covers basic static props (ones that don’t move or articulate). Why? While we would like to provide a SimReady specification for every simulation feature immediately, it’s not practical. Plus, we’ve also made the conscious decision to start small and provide this preliminary specification as a conversation starter. NVIDIA wants to work with external companies to flesh out the SimReady specification together as a community. By providing immediate access to SimReady as it exists now to everyone, our goal is to engage with you collaboratively so that as the specs are being built, you can provide input and be a direct contributor helping shape the future of SimReady so it meets your simulation needs.
Defining those standards will take longer and will build upon the knowledge gained by working with various industry stakeholders and understanding their needs. What this means is that the SimReady specification is designed to evolve over time and grow in lock step with the various simulation industries.