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.