Particles

Particle nodes provide a conversion from Nuke particles into Eddy’s system. Eddy particles allow interaction with volumetric channels and give access to particle instancing. Particle Expressions can be used to customize channel data and enable more low-level access to attributes.

EddyParticleAdvect

Moves particles through a velocity field without considering their mass or acceleration.

Usage

This node can for example be used to move particles though a fluid simulation and the particles will track with the fluid motion.

Inputs/Outputs

Connections

ClassType

Number

Description

particles

ParticleSystem

1

An Eddy particle system.

velocity

EddyChannel

1-100

An Eddy velocity field that will move the particles.

Output

ParticleSystem

1

The Eddy particles after they have been advected.

EddyParticleAge

Advances the age of a particle and deletes it when its lifespan has been exceeded.

Usage

This node can be placed at any stage of a particle simuation tree.

Inputs/Outputs

Connections

ClassType

Number

Description

particles

ParticleSystem

1

An Eddy particle system.

Output

ParticleSystem

1

An Eddy particles system after the aging has occurred.

Controls

Parameter

Values

Description

Maximum Age

0…inf

The maximum lifespan of a particle in seconds.

Kill Probablilty

0…1

The probability of a particle to die after its exceeded its lifespan.

Note

Use the kill probability to generate more random variation in the lifespan of a particle.

EddyParticleCache

Writes a set of Eddy particle channels in the OpenVDB file points format, and loads back previously saved caches when scrubbing the timeline.

Usage

This node can for example be used to cache the frames from an Eddy particle simulation to file - allowing the data to be used later for rendering or interaction with another areas without the need of re-evaluation. To cache out a sequence press the WriteCache button on the node, select the desired frame range and press ‘ok’.

It also enables an interactive workflow. When a simulation is being cached, this node will load the previously saved cache when trying to view a frame earlier than the current simulation time. Without the EddyParticleCache node, the output of a particle simulation will always be at the last evaluated state, regardless of the current frame in the timeline.

Inputs/Outputs

Connections

ClassType

Number

Description

particles

ParticleSystem

1

An Eddy particle system containing channels that will be cached to a file.

Output

ParticleSystem

1

Either the same Eddy particle system as is the input to this node, or a previously cached particle system if an earlier frame is requested.

Controls

Parameter

Values

Description

Nuke Auto Cache Path

True/False

Enable automatic Nuke caching of channel set data

File Name

Filename

The nuke style filename (including file path) to which the cache should be written

Channel Information

Multiselect list

A list of all particle channels avaliable in the input particle system. The selected channels will be written to the cache. See Channel Set widget.

Overwrite

True/False

Controls whether the cache node is allowed to overwrite existing files or not

Use Write Range

True/False

If enabled the cache node will only write frames from the interval between Start Frame and End Frame

Write Range Start Frame

-inf…inf

First frame that will be cached

Write Range End Frame

-inf…inf

Last frame that will be cached

Note

Use the ‘#’ character to automatically enumerate cache files. myfile.#.vdb will result in files myfile.1.vdb, myfile.2.vdb etc. and myfile.####.vdb will result in files myfile.0001.vdb, myfile.0002.vdb etc.

EddyParticleCacheLoader

Reads an OpenVDB points cache from disk and converts it to a particle system.

Usage

This node can be used to read back Eddy particle data that has been stored on disk as well as externally generated particle data - for example data from simulations created by other tools than Eddy.

Inputs/Outputs

Connections

ClassType

Number

Description

particles

ParticleSystem

1

An Eddy particle system containing channels that will be cached to a file.

Output

ParticleSystem

1

Either the same Eddy particle system as is the input to this node, or a previously cached particle system if an earlier frame is requested.

Controls

Parameter

Values

Description

File Name

FilePath

Location of the .vdb file (eg: /data/cache.#.vdb )

On Error

List

Sets the behavior when there is a problem loading a file. See File Error Modes for more information.

Channel Information

Multiselect list

Selects which channel to load from the cache, and sets channel properties such as the default value. See Channel Set widget.

EddyParticleCollision

Resolved collisions between particles and colliders. The velocities of the particles will be updated to respect the collision object.

Usage

Use this node in combination with EddyParticleIntegrate to resolve collisions. Make sure to place it before EddyParticleIntegrate, as it will integrate the newly computed velocities and move the points to their new location.

Inputs/Outputs

Connections

ClassType

Number

Description

particles

ParticleSystem

1

An Eddy particle system.

collider

Collider

1-100

An Eddy collider that will be used to compute collisions with the particles.

Output

ParticleSystem

1

An Eddy particles system with newly calculated velocties to respect the collisions.

Controls

Parameter

Values

Description

Feature Size

0…inf

The smallest feature size that should be resolved on the colliders. This only applies to the surface normal direction of the collision response. Larger values will blur the normal response.

Friction

0…1

The friction value when particles are in contact with the collider.

Bounciness

0…1

An artificial bounce value when particles are in contact with the collider.

Adhesion

0…1

The adhesion strength for particles to stick to the collider.

Adhesion Distance

0…inf

The maximum distance from the collider at which particles experience the adhesion force.

Dampening

0…1

A dampening factor when particles are in contact with the collider.

EddyParticleEmitter

Emits particles from a mesh.

Usage

This node can be placed at the beginning of a particle simulation. When the mesh provides uv coordinates, textures can be used to attenuate emission by sampling the supplied image. Fields can be used for initial emission forces.

Inputs/Outputs

Connections

ClassType

Number

Description

particles

ParticleSystem

1

An Eddy particle system.

mesh

Mesh

1

A mesh that will be used for emission.

texture

Image

1

Nuke image data that will be used to attenuate emission.

Initial Force

Field

1

An Eddy field that will be used to generate the initial force for the new particles.

Output

ParticleSystem

1

An Eddy particles system with newly emitted particles.

Controls

Parameter

Values

Description

Feature Size

0…inf

The spacing in world space units particles will be distributed over the mesh.

Emission Rate

0…inf

The rate per second particles will be emitted per unit area.

Normal Velocity

0…inf

How much the surface normal contributes to the initial velocity of each particle.

EddyParticleExpression

Allows to modify particle channels via expressions.

Usage

By writing a script function all particle attributes can be modified and interact with other areas like field channels.

See Expressions for general information about writing expressions, such as how to provide input parameters to your expressions.

The script must define a function called ‘particlEddyexpression’, which takes the particle id as a parameter, and gives access to all particle attributes via the particle.attributEddyname construct. Certain particle channels like particle.id are read only and will not be updated.

The functions should be defined as follows in the script:

Modifying the position channel in Python.
def particlEddyexpression(i_particleIndex=Int):
     particle.position = [i_particleIndex * 0.24, 0.0, 0.0]
Modifying the position channel in C++.
void particlEddyexpression(const int i_particleIndex)
{
     particle.position = makEddyfloat3(i_particleIndex * 0.24, 0.0, 0.0);
}

Inputs/Outputs

Connections

ClassType

Number

Description

particles

ParticleSystem

1

An Eddy particle system that the expression will be run on.

Output

EddyChannel

1

An Eddy channel defined by the script.

Controls

Parameter

Values

Description

Type

List

The type of the field.

Language

List

The language in which the expression script is written.

Expression

Text

The script containing the function defining the field. To commit your changes the ‘apply’ button must be pressed.

Languages

Name

Description

Python

A script written in EddyScript, which is a Python-like language.

C++

A script written in C++.

EddyParticleForce

This node adds forces to each particle.

Usage

Connect one or multiple force fields that will contribute to the particle’s force accumulation.

Inputs/Outputs

Connections

ClassType

Number

Description

particles

ParticleSystem

1

An Eddy particle system.

force

Field

1-100

An Eddy vector field that will be used add forces to each particle.

Output

ParticleSystem

1

An Eddy particles system with newly added forces.

EddyParticleIntegrate

This node integrates all the forces and advances the particle system to the next time step.

Usage

This node is placed at the end of a particle simulation graph.

Inputs/Outputs

Connections

ClassType

Number

Description

particles

ParticleSystem

1

An Eddy particle system.

Output

ParticleSystem

1

An Eddy particles system at the new time step.

Controls

Parameter

Values

Description

Gravity

(0,0,0)…(inf,inf,inf)

Constant gravity acceleration in units/s.

Note

This is different to the EddyParticleAdvect node, which does not take mass or acceleration into account.

EddyParticleSetValue

This node allows to set a value on a particle channel. This can either be a uniform value or randomized per particle.

Inputs/Outputs

Connections

ClassType

Number

Description

particles

ParticleSystem

1

An Eddy particle system.

Output

ParticleSystem

1

An Eddy particles system at the new time step.

Controls

Parameter

Values

Description

Channel Type

List

Selects the type of channel which will control the channel selection.

Channel Name

List

Selects the channel to be used.

Mode

List

Selects which operation mode to perform.

Uniform Value

Float/Vector/Int

A uniform value that will be set on all particles.

Uniform Random Component

Bool

When using vectors each vector component will be randomized individually.

Minimum Random Value

Float/Vector/Int

The minimum value for the random range for each particle.

Maximum Random Value

Float/Vector/Int

The maximum value for the random range for each particle.

EddyParticleSystem

An Eddy particle system that can be used in conjunction with other eddy particle nodes.

Usage

Connect a Nuke particle system or use as a source for native Eddy particle workflows.

Inputs/Outputs

Connections

ClassType

Number

Description

particles

ParticleSystem

0…1

A Nuke particle system that will be converted to Eddy particles.

Output

ParticleSystem

1

An Eddy particle system.

Controls

Parameter

Values

Description

Start Frame

-inf…inf

All stored particles will be cleared whenever the current time is on or below the start frame.

Channel Information

Multiselect list

Selects which channel to convert from Nuke or create new channels from scratch. Channels can be added in addition to Nuke channels to help Eddy native particle workflows.

EddyParticleVisualizer

A visualizer for an Eddy particle system.

Usage

Connect an Eddy particle system and select ensure the node is visible in the panel.

Inputs/Outputs

Connections

ClassType

Number

Description

particles

ParticleSystem

0…1

An Eddy particle system

Controls

Parameter

Values

Description

Enabled

True/False

Enables the visualizer.

Color Mode

List

The mode used to determine the color of a particle. See Particle Visualizer Modes for more information.

Color

(0,0,0)…(inf,inf,inf)

The uniform color for each particle.

Color Channel

String

The particle channel used to determine the varying color of each particle.

Velocity Color Remap

True/False

When enabled, the velocity magnitude of the velocity is used to color the particles.

Max Velocity

0.0…inf

The particle color turns white as the velocity magnitude approaches this value.

Radius Mode

List

The mode used to determine the radius of a particle. See Particle Visualizer Modes for more information.

Radius

0.0…inf

The uniform radius for each particle.

Radius Channel

String

The particle channel used to determine the varying radius of each particle.