Product Configurator Viewer
Overview
The Product Configurator Viewer is an Extension bundle that contains functionality to preview and author data driven product configurators. The two included Extensions are:
Panel -
omni.product_configurator.panel
- preview and easily test the various categories and options that you will create as part of your configuration.Utilities -
omni.product_configurator.utils
- aid in the setup
This data driven approach to create product configurators can scale and support many different asset types. The approach defines a DataStructure
, which is the root name of a prim hierarchy. The root has category
children, and each category child has options
. Under each option there are behavior
prims. Each behavior prim maps to a variant.
Outside of the data structure, there are action graph nodes that are listening for property changes on prims in the data structure. When those properties change, the graph is evaluated and variant is set. The active category and active option are tracked via properties on the data structure root and each category respectively.
The data structure is responsible for collecting and storing the data, so that different interfaces may access and edit the data contained within. It can also be modified to support additional data that may be need to be stored for your configuration. The system is designed for the action graphs to read and respond to changes on the data structure properties.
If the data structure is the heart of the system, the graph is the brain of the system.
A video series was created that walks through how to set up the data structure manually so that you understand how everything fits together. Once you do, feel free to start using the extension utilities, which automates the set up process and removes the need for manual input.
omniverse://localhost/NVIDIA/Samples/Showcases/2023_3/Ragnarok/Koenigsegg_Ragnarok.usd
omniverse://localhost/NVIDIA/Assets/Configurator/2023_1/Examples/
Data Structure Prims Overview
Including the root, there are 4 types of data prims in this structure:
DataStructure - The root holds categories and stores the currently active category via a property.
Category - A category organizes options underneath it. Each category stores the currently active option on a property.
Option - An option can hold one or many behaviors that map to variants.
Behavior - A behavior maps to a variant within a variant set on a prim via properties on the prim.
More detail about the data structure can also be found in the technical breakdown section.