-
Notifications
You must be signed in to change notification settings - Fork 1.4k
Description
I'm creating a UsdImagingSceneIndex and I've noticed a few issues.
-
The interface doesn't allow to specify the priority of the plugin. The only available function "AppendSceneIndex" assumes your plugin will be added after the previous one.
-
UsdImagingSceneIndex plugins are chained following loading-order, and being loaded in a multi-threaded mode, it means the order is not well defined.
The main function to load all sceneindex plugins is here:
which relies on this:
which basically relies on this derivedTypes vector:
https://github.com/PixarAnimationStudios/OpenUSD/blob/dev/pxr/base/tf/type.cpp#L107
In the images attached, my custom plugin "Sequences" is randomly placed before or after the UsdSkelImaging plugin (which provides two sceneindex filtering plugins so they are always together).
It would be ideal to drive the priority of the plugin, at the beginning or the end of the chain or even a numbered priority.
In my example, I have to modfy the animated transforms of a skelanimation prim, so my plugin should be before the usdskelimaging plugin (in the images, the correct one is "below" the usdskelimaging).
