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:
def expression_field(position=Float3):
return 1.0
def expression_field(position=Float3):
return [ 1.0, 2.0, 3.0 ]
float expression_field(const float3& position)
{
return 1.0f;
}
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 |