CollectPrimitiveVariables

Make copies of target primitive variables with different suffixes, where the new suffixed copies come from different contexts.

By combining this with a SceneTimeWarp, you can create copies of primitive variables at different times, useful for creating trail effects.

user

Container for user-defined plugs. Nodes should never make their own plugs here, so users are free to do as they wish.

out

The processed output scene.

enabled

The on/off state of the node. When it is off, the node outputs the input scene unchanged.

in

The input scene

filter

The filter used to control which parts of the scene are processed. A Filter node should be connected here.

primitiveVariables

A match pattern for which primitive variables will be copied.

suffixes

The names of the new suffixes to add to copies of the target primitive variables. The new suffixed variables will be copied from different contexts.

suffixContextVariable

The name of a context variable that is set to the current suffix when evaluating the input object. This can be used in upstream expressions and string substitutions to vary the object while creating the primvar copies.

For example, you could drive a SceneTimeWarp with this variable in order create copies of a primitive variable at different times.

requireVariation

If true, newly copied primitive variables will only be created if the source object is differs in some of the suffix contexts. If the source object never changes, it will be passed through unchanged ( since there is no variation, you can just use the original primitive variables ).