Instancing¶
Instancing nodes provide different ways of placing multiple items in your scene in a memory efficient manner. Depending on the setup, various aspects can be randomized or controlled explicitly via particle attributes.
Instancers themselves can be instanced to allow recursive instancing.
EddyInstanceCallsheet¶
This node creates a callsheet which combines multiple unique instance items into a single collection.
Usage
Use as input to EddyParticleInstance. All the connected instance items require to have a different unique identifier.
Inputs/Outputs
Controls
Parameter |
Values |
Description |
---|---|---|
EddyInstanceChannelset¶
This node will combine all instanced channelsets into a single channelset containing all channels.
Usage
Connected to the output of an instancer and used as a input to a EddyChannel.
Inputs/Outputs
Controls
Parameter |
Values |
Description |
---|---|---|
Scalar Mode |
List |
The compositing mode to use when combining overlapping instances. |
Vector Mode |
List |
The compositing mode to use when combining overlapping instances. |
Ambient Scalar |
-inf…inf |
The ambient or outside value is returned in areas where no instances are present. |
Ambient Vector |
(-inf,-inf,-inf)…(inf,inf,inf) |
The ambient or outside value is returned in areas where no instances are present. |
EddyInstanceItem¶
This node creates a generic instance item from given a supported input.
Usage
Use as input to EddyInstanceCallsheet or EddyRandomInstance.
Inputs/Outputs
Connections |
ClassType |
Number |
Description |
---|---|---|---|
instancer |
Instancer |
0-1 |
An Eddy instancer for recursive instancing. |
channelset |
ChannelSet |
0-1 |
An Eddy channelset that will be instantiated as a whole. |
mesh |
Mesh |
0-1 |
An Eddy mesh that will be instantiated. |
field |
EddyChannel |
0-1 |
An Eddy channel that will be instantiated. |
Output |
InstanceItem |
1 |
An Eddy instance item that describes the input to the instancing system. |
Controls
Parameter |
Values |
Description |
---|---|---|
Unique Identifier |
0…inf |
A unique identifier used to reference this item in a callsheet. |
Probability Weight |
0…inf |
A probability weight to increase the chance this item gets chosen during random selection. |
EddyInstanceItemVariant¶
This node selects an instance item from one of the given inputs randomly. This can be a simple way to add variations.
Usage
Use as input to EddyInstanceCallsheet or EddyRandomInstance.
Inputs/Outputs
Controls
Parameter |
Values |
Description |
---|---|---|
Unique Identifier |
0…inf |
A unique identifier used to reference this item in a callsheet. |
Probability Weight |
0…inf |
A probability weight to increase the chance this item gets chosen during random selection. |
EddyInstanceItemVolumeCache¶
This node wraps a Channel set provided by a volume cache and allows to generate time offset and level of detail (LOD) variants of it. LOD variants are generated by the instancer based on the size of a voxel in camera space. Allowing the volume cache instance to generate many different LOD and time variants will however increase memory consumption as more unique instances are generated.
Usage
Use as input to EddyInstanceCallsheet or EddyRandomInstance.
Inputs/Outputs
Connections |
ClassType |
Number |
Description |
---|---|---|---|
Output |
InstanceItem |
1 |
An Eddy instance item. |
Controls
Parameter |
Values |
Description |
---|---|---|
Unique Identifier |
0…inf |
A unique identifier used to reference this item in a callsheet. |
Probability Weight |
0…inf |
A probability weight to increase the chance this item gets chosen during random selection. |
File Name |
FilePath |
Location of the .vdb file (eg: /data/cache.#.vdb ) |
Random Offset Frame Range |
0…inf |
This will pick a random time offset for each instance centered around the current frame. |
Load Constant Tiles |
True/False |
If disabled the cache loader will ignore OpenVDB constant tiles. This could for example be the interior of an SDF shape. |
Voxel Size Gain |
1…inf |
Multiplier to the loaded data set voxel size used to reduce the memory requirement (but also the resolution) of the VDB cache. |
Max Lod Levels |
0…inf |
The maximum number of LOD levels allowed. |
Max Lod Gain |
0…inf |
The maximum coarsening for the cache at the maximum Lod level. This gain is in addition to the base voxel size gain parameter. |
Min Lod Width |
0…inf |
The minimum pixel width of a voxel in camera space when the coarsest LOD level is used. |
Screen Size |
(1,1)…(inf, inf) |
The screen size in pixels used to determine the Lod level for each cache. |
Channel Information |
Multiselect list |
Selects which channel to load from the cache, and sets channel properties such as the interpolator to be used for sampling and the vector transformation type. See Channel Set widget. |
EddyInstancer¶
This node generates all the unique instances and outputs them as an instance collection which holds all different supported types.
Usage
Use as input to EddyInstanceField, or the EddyInstanceChannelset. Supported inputs are EddyRandomInstance and EddyParticleInstance.
Inputs/Outputs
Connections |
ClassType |
Number |
Description |
---|---|---|---|
instancer |
Instancer |
1…inf |
Eddy instancers that will be built. |
camera |
Camera |
0…1 |
An Eddy camera that will be used to determine the level of detail for instances where applicable. |
Output |
InstanceCollection |
1 |
An Eddy instance collection containing all the unique instances of all supported types. |
Controls
Parameter |
Values |
Description |
---|---|---|
Random Seed |
0…inf |
Seed for the random number generator. |
EddyInstanceField¶
The node will extract all instance fields from the instance collection of the type specified and composite them together into a single field channel.
Usage
Connect this node to an EddyInstancer.
Inputs/Outputs
Controls
Parameter |
Values |
Description |
---|---|---|
Type |
List |
Set the output ValueType of this channel. |
Mode |
List |
Type of compositing mode to use when combining overlapping instances. |
Ambient Value |
-inf…inf |
Value returned outside the instance region. |
EddyParticleInstance¶
The node will place instances defined in a callsheet at particle locations. There are several options to control orientation and scaling of each instance. For ease of use randomized options for most options exist, while more tight control of each instance can be achieved by using particle channels to drive attributes of each instance.
Usage
Connect this node to EddyInstancer to generate the instances.
Inputs/Outputs
Controls
Parameter |
Values |
Description |
---|---|---|
Id Channel |
List |
Set the integer particle channel used to seed the per particle random number generator. This attribute value should be constant for the lifetime of each particle. |
Callsheet Mode |
List |
Set the mode which determines how the unique ids in the callsheet are accessed. |
Callsheet Channel |
List |
Set the integer particle channel that will select the instance item from the callsheet. The value needs to match a unique identifier in the callsheet. |
Time Offset Mode |
List |
Set the mode which determines how the time offset is generated for each particle instance. See Instance time offset modes for more information. |
Time Channel |
List |
Set the integer particle channel that will generate the frame time for each particle. It allows direct control of the instance item volume cache EddyInstanceItemVolumeCache by passing the absolute time as a particle value. |
Rotation Mode |
List |
Set the mode which determines how the rotation of each instance is generated. |
Rotation Channel |
List |
Set the vector particle channel that will generate the rotation for each particle. The expected values are in Euler angles. |
Minimum Random Rotation |
(-inf,-inf,-inf)…(inf,inf,inf) |
The minimum rotation range in Euler angles that will be used when generating random rotations for each instance. |
Maximum Random Rotation |
(-inf,-inf,-inf)…(inf,inf,inf) |
The maximum rotation range in Euler angles that will be used when generating random rotations for each instance. |
Scaling Mode |
List |
Set the mode which determines how the scaling of each instance is generated. |
Scaling Channel |
List |
Set the vector particle channel that will generate the scaling for each particle. |
Uniform Scale |
True/False |
When enabled the scaling for each axis will be determined by a single random number opposed to a random number for each axis. |
Minimum Random Scaling |
(-inf,-inf,-inf)…(inf,inf,inf) |
The minimum scaling range that will be used when generating a random scaling for each instance. |
Maximum Random Scaling |
(-inf,-inf,-inf)…(inf,inf,inf) |
The maximum scaling range that will be used when generating a random scaling for each instance. |
EddyRandomInstance¶
The node will randomly pick one of the connected instance items and place them at each location.
Usage
Connect this node to a EddyInstancer to generate the instances.
Inputs/Outputs
Connections |
ClassType |
Number |
Description |
---|---|---|---|
instancEddyitems |
InstanceItem |
1+ |
An Eddy instance item that can be chosen from. |
axis |
axis |
1+ |
One or more Nuke axis nodes representing the transforms of each instance |
Outputs |
Instancer |
1 |
An Eddy instancer. |