When working with a USD set in Maya, clicking in the Viewport selects an exact prim. This often results in the partial selection of a model. If you want to manipulate an entire model or set, you need to manually select it in the Outliner. You can override this behavior with the optionVar UsdSelectionKind
and UsdPointInstancesPickMode
. Choose a selection mode to reflect changes when you select prims in the Viewport and Outliner. Note: Default fallback selection mode is by prim.
You can move prims in the Viewport using ALT + arrow keys
. This keyboard function will move USD data, just as it does Maya data.
When you right-click a USD object in the Viewport, a contextual marking menu appears to help you select the exact object(s) you want to modify.
Kind is a type of metadata that is used to classify prims in USD. It is an extensible system that is based on a Kind hierarchy that has pre-loaded string values. These string values determine the selection behavior in the Viewport. You can also define custom strings that are unique to your production pipelines.
The Kind Hierarchy:
PointInstancer is a "multi instancer", as it allows multiple prototypes to be scattered among its "points". The PointInstancer schema is designed to scale to billions of instances, which motivates the choice to split the per-instance transformation into position, (quaternion) orientation, and scales.
Using Maya interface, you can choose your USD selection mode in the Viewport.
optionVar -sv "UsdSelectionKind" "model" ;
Selects the nearest ancestor that is a model or its subcategory.optionVar -sv "UsdSelectionKind" "group" ;
Selects the nearest ancestor that is a group or its subcategory.optionVar -sv "UsdSelectionKind" "user-defined" ;
Selects the nearest ancestor that is a user-defined kind or its subcategory.optionVar -sv "UsdSelectionKind" "" ;
Selects the exact prim that is picked in the viewport. This returns Viewport selection to its default behavior.In the following example, we override the default Viewport selection behavior to select entire models in the USD set:
You can also use the optionVar
(that was previously UsdPickMode
) which is now UsdPointInstancesPickMode
with the possible values of: pointInstancer
, instances
, or prototypes
.
optionVar -sv "UsdPointInstancesPickMode" "PointInstancer" ;
Selection mode that is the equivalent of being unset. Selecting an instance would return the instancer prim.optionVar -sv "UsdPointInstancesPickMode" "Instances" ;
Clicking an instance would return the specifc instance.optionVar -sv "UsdPointInstancesPickMode" "Prototype" ;
Selects the original prototype prim in the Viewport. optionVar -sv "UsdPointInstancesPickMode" "" ;
Selects all individual instances of the same prototype.If the object picked in the viewport is a point instance, this optionVar controls what that pick resolves to the PointInstancer prim (a specific point instance scene item, or the prototype prim being instanced, respectively). This results in a more flexible way to use both the point instances pick mode and the selection kind in combinations.
UsdSelectionKind
, then the kind
and prototypes
pick modes are exactly the same. A UsdView style selection menu can be implemented as follows:
For Prims: UsdSelectionKind = '', UsdPointInstanceSelection = '[Anything]'
For Models: UsdSelectionKind='model', UsdPointInstanceSelection = '[Anything]'
For Instances: UsdSelectionKind='[Anything]', UsdPointInstanceSelection='instances'
For Prototypes: UsdSelectionKind = '', UsdPointInstanceSelection = 'prototypes'
Isolate the display of USD prims in the viewport. Use the isolate Select command in the view panel displayed above the scene view to show only certain objects or components in your USD scene.
Related Concepts: For more information, see kind and metadata in the Pixar USD Glossary and Kind: Extensible Categorization.