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 TimeWarp, you can create copies of the transform at different times, useful for creating trail effects.


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


The processed output scene.


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


The input scene


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


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


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 TimeWarp with this variable in order create copies of the transform at different times.


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.


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 ).


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.