Channel Sources

Eddy channel sources nodes generate initial data for use in Eddy compositing graphs.

EddyBox

Generates a box represented as a signed distance channel.

Usage

This is a basic Eddy volume primitive to be used in volume compositing graphs. The node can for example be used with the mask node to assign user defined values inside and outside the surface of this geometry.

Inputs/Outputs

Connections

ClassType

Number

Description

axis

axis

0-1

A Nuke axis node representing a transformation applied to the box

Output

EddyChannel (scalar)

1

An Eddy scalar channel representing an SDF box

Controls

Parameter

Values

Description

Dimensions

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

Dimensions of the box in scene units

EddyCacheLoader

Reads an OpenVDB volume cache from disk and converts it to a channel set. If the cache is too large to fit in available GPU memory the voxel size gain can be used to coarsen the cache. This reduces the memory footprint but also the resolution of the resulting volume.

Usage

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

Inputs/Outputs

Connections

ClassType

Number

Description

Output

EddyChannelSet

1

The Eddy channel set read from the selected file

Controls

Parameter

Values

Description

File Name

FilePath

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

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.

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.

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 interpolator to be used for sampling and the vector transformation type. See Channel Set widget.

EddyChannel

Extracts a single channel from an Eddy channel set.

The manner in which channel data is displayed in the Nuke 3D viewport can be controlled through the Visualizer Settings tab of the node properties in Nuke. More information on visualizing channels can be found in the visualization section.

Usage

Some nodes output an Eddy channel set instead of a single Eddy channel. An example is the Smoke element and the VDB Cache Loader node. The EddyChannel node is used to gain individual access to each channel contained in a channel set. The EddyChannel node is lightweight and does not copy any data - it only provides a mechanism to access and view individual channels in a channel set.

Inputs/Outputs

Connections

ClassType

Number

Description

axis

axis

0-1

A Nuke axis node representing a transformation applied to the channel

channelSet

EddyChannelSet

1

An Eddy channel set containing the channels from which the desired channel is selected

Output

EddyChannel

1

The selected Eddy channel from the EddyChannelSet

Controls

Parameter

Values

Description

Mode

List

Allows the user to selects what type of channel to extract from the Eddy channel set - scalar or vector. Affects the output type of this node as well as the type of channels listed in the channel list

Channel

List

A list of available channels found in the input Eddy channel set

EddyConstant

Generates a channel with a constant value everywhere in space.

Usage

This is a basic Eddy volume primitive to be used in volume compositing graphs. The constant value exists everywhere in space and can thus for example be used to specify ambient values.

Note

When viewing (visualizing) a constant channel in the Nuke 3D viewport the entire extent of the channel will not be displayed as it is effectively infinite. Instead a box representing a part of the constant channel is displayed.

Inputs/Outputs

Connections

ClassType

Number

Description

axis

axis

0-1

A Nuke axis node representing a transformation applied to the channel

Output

EddyChannel

1

A constant Eddy channel

Controls

Parameter

Values

Description

Mode

List

Set the output ValueType of this channel

Transform Type

List

Specifies how this vector field should behave when transformed. See Vector Channel Transformations.

Value

-inf…inf

The constant value of this channel

EddyCylinder

Generates a cylinder represented as a signed distance channel.

Usage

This is a basic Eddy volume primitive to be used in volume compositing graphs. The node can for example be used with the mask node to assign user defined values inside and outside the surface of this geometry.

Inputs/Outputs

Connections

ClassType

Number

Description

axis

axis

0-1

A Nuke axis node representing a transformation applied to the channel

Output

EddyChannel (scalar)

1

An Eddy scalar channel representing an SDF cylinder

Controls

Parameter

Values

Description

Radius

0…inf

Radius of the cylinder in scene units

Height

0…inf

Height of the cylinder in scene units

EddyExpression

Creates an Eddy channel defined by an expression script.

Usage

Defines a new channel by directly specifying a script function. The function can be evaluated at a position to calculate the value of the channel at that position.

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 ‘expression_field’, which takes the position at which the field is being sampled as a parameter, and returns the value of the field at that position. The functions should be defined as follows in the script:

A scalar field written in Python.
def expression_field(position=Float3):
   return 1.0
A vector field written in Python.
def expression_field(position=Float3):
   return [ 1.0, 2.0, 3.0 ]
A scalar field written in C++.
float expression_field(const float3& position)
{
   return 1.0f;
}
A vector field written in C++.
float3 expression_field(const float3& position)
{
   return makEddyfloat3(1.0f, 2.0f, 3.0f);
}

Inputs/Outputs

Connections

ClassType

Number

Description

axis

axis

0-1

A Nuke axis node representing a transformation applied to the channel.

bounds

EddyBounds

0-1

An optional bounds for the channel. If this is not provided the channel will not have bounds.

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.

Types

Name

Description

Scalar

A simple scalar field, e.g. a fog volume.

Scalar Isosurface

A scalar field which defines an isosurface. Negative values are inside the surface, positive values are outside the surface, but the values returned by the script do not have to represent an actual distance.

Scalar SDF

A scalar field which defines a signed distance field. The values returned by the script must be the actual distance to the surface, with negative values being inside and positive values outside.

Vector

A vector field which transforms like a regular vector, e.g. a wind volume.

Vector Normal

A vector field which transforms like a normal when scaled.

Vector Coordinate

A vector field which does not change when transformed.

Languages

Name

Description

Python

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

C++

A script written in C++.

EddyImage

Converts a 2D image to an Eddy channel (i.e. a 3D volume). When Scalar mode is selected the first channel of the input image data gets converted into a volume. When Vector mode is selected the RGB channel of the input image data gets converted into a volume.

Usage

This node is used to bring 2D image data into Eddy 3D compositing graphs. This allows for example the use of images as emission sources or collision objects. The 3D region can either be specified using a camera projection, or by specifying the size of the box directly. If a camera is used then the near and far clipping planes are used to control the region filled by the channel.

Inputs/Outputs

Connections

ClassType

Number

Description

image

image

1

Nuke image data to be converted to an Eddy volume channel

cam

camera

0-1

A Nuke camera used as the basis for the volume projection of the image

Output

EddyChannel

1

An Eddy channel containing the projected image

Controls

Parameter

Values

Description

Mode

List

Set the output ValueType of this channel

Transform Type

List

Specifies how this vector field should behave when transformed. See Vector Channel Transformations.

Dimensions

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

The size of the field, when not using a camera projection

Keep Aspect Ratio

True/False

Adjusts the Y dimension to maintain the image aspect ratio, when not using a camera projection

As Texture

True/False

Field will be sampled directly in texture space instead of world space. Transform/camera are not used.

EddyMeshToVolume

This node converts a mesh to a channel set of narrow band volumes.

Narrow band data is volume data only valid within a certain distance from the mesh surface as controlled by the Band Width parameter. Outside this band the channel(s) will have a constant (ambient) value. The computation time required to generate the channel set as well as the memory required to store it increases rapidly with increased Band Width so whenever possible strive to use a low Band Width value.

The dimensions of the output are determined by the combined bounding box of the input geometry. Meshes should to be a closed manifold whenever possible. If not manifold the mesh surface will be interpreted as a shell with a thickness defined by the shell width parameter.

Usage

This node is used to bring mesh data into Eddy volume compositing graphs. The resulting channels can then for example be used as emission sources or collision objects in simulations.

Inputs/Outputs

Connections

ClassType

Number

Description

mesh

mesh

1+

Nuke mesh data to be converted to an Eddy channel set

Output

EddyChannelSet

1

The Eddy channel set that holds the volume representation of the mesh

Controls

Parameter

Values

Description

Feature Size

0…inf

Size of the smallest features captured by the resulting volume. Should ideally be less than the smallest feature of the mesh

Voxel Narrow Bandwidth

1…inf

Thickness in number of voxels of the band around the surface of the geometry

Artificial Thickness

1…inf

Articifial thickness parameter in case the mesh is not closed (e.g. holes, flipped normals). Specified in units of the number of voxels.

Channel List

Multiselect list

Selects which mesh channels to convert to Eddy channels, and sets channel properties such as the interpolator to be used for sampling and the vector transformation type. See Channel Set widget.

EddyParticleToVolume

This node converts a particle system to a channel set. The dimensions of the output are determined by the bounding box of the particle system.

Usage

This node is used to bring particles into Eddy volume compositing graphs. The resulting channels can then for example be used as emission sources or collision objects in simulations.

Inputs/Outputs

Connections

ClassType

Number

Description

particles

Particles

1

A Nuke particle system to be converted to an Eddy channel set

Output

EddyChannelSet

1

The Eddy channel set that holds the volume representation of the particles

Controls

Parameter

Values

Description

Feature Size

0…inf

Size of the smallest features captured by the resulting volume. Should be less than the smallest particle radius

Default Radius

0…inf

Default radius of each particle. Used when a radius input channel is not provided.

Streak Length Multiplier

0…inf

Stretches the particle data along the particle velocity direction

Streak Falloff

0…inf

Rate of particle radius falloff along the streak. Tapers the stretched particle data into a cone shape

Channel List

Multiselect List

List of particle channels that should be included in the output Eddy channel set, sets channel properties such as the interpolator to be used for sampling and the vector transformation type. See Channel Set widget.

EddyPerlinNoise

Generates a channel containing Perlin noise.

Usage

Volumetric noise is for example a good starting point for generating complex volumetric deformations or guide forces for simulations.

Inputs/Outputs

Connections

ClassType

Number

Description

axis

axis

0-1

A Nuke axis node representing a transformation applied to the channel

Output

EddyChannel

1

An Eddy channel holding the volumetric Perlin noise

Controls

Parameter

Values

Description

Mode

List

Set the output ValueType of this channel

Transform Type

List

Specifies how this vector field should behave when transformed. See Vector Channel Transformations.

Random Seed

0…inf

Random seed of the noise function. Each value represents a different (unique) noise.

Frequency

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

Frequency determines how fast the noise changes in space. Higher values produce noise that changes faster

Amplitude

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

Maximum value of the noise produced. It will vary between -amplitude and +amplitude

Octaves

1…inf

Number of layers of noise at different scales controlling the amount of detail

Lacunarity

1…inf

Scale that is applied to the frequency to increase the detail in each successive octave. Should be greater than 1 in general, and avoid round numbers which might introduce artefacts into the Perlin noise.

Gain

1…inf

Scale that is applied to the amplitude in each successive octave. Generally should be less than 1 in order to fade out the higher detail.

Animated

True/False

When enabled the noise function will be a 4D perlin noise.

Phase

0…inf

The temporal phase of the 4D noise function. Animating this parameter will change the noise over time.

EddyPlane

Generates a plane represented as a signed distance channel.

Usage

This is a basic Eddy volume primitive to be used in volume compositing graphs. The node can for example be used with the mask node to assign user defined values inside and outside the surface of this geometry.

Note

When viewing (visualizing) the plane in the Nuke 3D viewport the entire plane will not be displayed as it is effectively infinite. Instead a box representing a part of the constant channel is displayed.

Inputs/Outputs

Connections

ClassType

Number

Description

axis

axis

0-1

A Nuke axis node representing a transformation applied to the channel

Output

EddyChannel (scalar)

1

An Eddy scalar channel representing an SDF plane

Controls

none

EddySphere

Generates a sphere represented as a signed distance channel.

Usage

This is a basic Eddy volume primitive to be used in volume compositing graphs. The node can for example be used with the mask node to assign user defined values inside and outside the surface of this geometry.

Inputs/Outputs

Connections

ClassType

Number

Description

axis

axis

0-1

A Nuke axis node representing a transformation applied to the channel

Output

EddyChannel (scalar)

1

An Eddy scalar channel representing an SDF sphere

Controls

Parameter

Values

Description

Radius

0…inf

Radius of the sphere in scene units

EddyVelocity

Generates an Eddy vector (velocity) channel from the input transformation. In order to see an output the transformation of this channel needs to be animated.

Usage

This node is typically be used to estimate the velocity channel for colliders used in Eddy simulations.

Inputs/Outputs

Connections

ClassType

Number

Description

axis

axis

1

A Nuke axis node representing an animated transformation the velocity of which is to be extracted

Output

EddyChannel (vector)

1

An Eddy vector channel containing the volumetric velocity data associated with the animated transform

Controls

Parameter

Values

Description

Position Velocity

True/False

Include translational motion (i.e. linear velocity) in the final velocity

Rotation Velocity

True/False

Include rotational motion in the final velocity

Scale Velocity

True/False

Include scaling motion in the final velocity