PointInstancerCore
Utility node containing the core logic for the PointInstancer node. Takes an input Primitive and converts it into a PointInstancer object, while also defining the contexts required to generate prototype variations for the instancer.
Caution
This is an internal implementation detail of the PointInstancer node, and as such is subject to change without warning. Do not rely on directly.
user
Container for user-defined plugs. Nodes should never make their own plugs here, so users are free to do as they wish.
inPoints
The input Primitive. This must already have prototypeRoots and
prototypeIndex primitive variables in the format required of a
PointInstancer.
timeOffset
The name of a primitive variable specifying per-point time offsets, used to generate prototype variation.
contextVariables
The names of primitive variables specifying per-point context variable values used to generate prototype variation.
Names should be separated by spaces and may contain Gaffer’s standard wildcards.
prototypeFormat
A format specification used to customise the name of each prototype based on its context variables and time offset. The following format tokens are available :
{name}: The original prototype name before variation.{timeOffset}: The time offset.{contextVariable}: The value of a context variable.{hash}: A hash value that uniquely identifies the prototype.
Note
Each prototype must have a unique name. If the time offset or any context variable is omitted from the format, the hash will be appended automatically to maintain this constraint.
Note
Special rules apply when formatting floating point values such as the time offset. The ‘.’ and ‘-’ characters are not legal in USD identifiers, so to produce names that are compatible with USD they are replaced with ‘_’ and ‘n’ respectively.
outPoints
The output PointInstancer.
prototypeNames
Output defining names for all prototype variations to be collected
for outPoints. These are derived from timeOffset, contextVariables,
and prototypeFormat. The responsibility for collection lies with the
PointInstancer node.
prototypeSelector
Receives the name of a prototype, which should be present in
prototypeNames. This determines which prototype the prototypeTimeOffset
and prototypeContext plugs are being evaluated for.
prototype
Outputs the source location for the prototype specified by the
prototypeSelector plug.
prototypeTimeOffset
Outputs the required time offset for the prototype specified
by the prototypeSelector plug.
prototypeContext
Outputs the required context variables for the prototype specified
by the prototypeSelector plug.