CollectTransforms

Collects transforms in different contexts, storing the results as attributes. The names of the attributes being collected are provided as a context variable, which can be used to vary the transforms that are collected.

By combining this with a SceneTimeWarp, you can create copies of the transform 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.

attributes

The names of the new attributes to create. The new attributes will be copied from the transform in different contexts.

attributeContextVariable

The name of a context variable that is set to the current attribute name when evaluating the transform. This can be used in upstream expressions and string substitutions to vary the transform.

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

space

If you select world space, the created attributes will contain a concatenation of all transforms from the root of the scene to the current location.

requireVariation

If true, new attributes will only be created if the transform differs in some of the contexts. If the transform never changes, no new attributes will be created ( you can just use the transform instead of accessing the new attributes ).

transforms

This hidden plug is a CompoundObject that contains just the new transform attributes.

It is primarily used for internal computation, but there are cases where you can improve performance by naughtily plugging it into an expression.