Node Reference

Note

The nodes in this section are Eddy’s API nodes, not the nodes that are available in the Eddy for Nuke plugin. While there may be overlap and similarities, there may also be significant differences, so we recommend using the Eddy for Nuke specific documentation first for information about the Nuke nodes.

Core nodes

Node

An empty node, which has no plugs or properties. Creating an instance of this node can still be useful, as you can add your own arbitrary properties and expose them as output plugs. This can be necessary to pass a value to a node which has declared an input as a plug instead of a property. It also allows the same property to be connected to multiple nodes, avoiding redundantly setting the same value on multiple properties.

Bounds

Creates an axis-aligned bounding box.

Properties

Type

Default

Description

transform

M44f

Identity

Transform is applied to a unit cube to define the bounding box. If the transform has rotation then a bounding box containing the rotated box will be returned.

Output plugs

Type

Description

bounds

Box3f

The axis-aligned bounding box.

CacheLoader

Reads a 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.

Properties

Type

Default

Description

file

String

File name of the cache to load

voxel_size_gain

Float

1.0

Allows the voxel size to be increased, effectively loading at a lower resolution

load_constant_tiles

Bool

True

Also load VDB tiles that represent constant regions (e.g. the interior of an SDF)

channel_list

ChannelList

Specifies which channels to load and their properties

suppress_missing_file_error

Bool

False

Allows suppression of the error due to the file not being bound, an empty ChannelSet will be silently returned.

load_all_channels

Bool

False

Requests that all channels in the cache be loaded, they do not need to be explicitly listed in the channel_list property.

on_error

String

“error”

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

Output plugs

Type

Description

channel_set

ChannelSet

The ChannelSet containing the loaded voxel fields.

CacheWriter

Writes a set of voxel fields in the OpenVDB file format.

When evaluated at a time that is not the current simulation time, this node can also read back a previously saved cache.

Properties

Type

Default

Description

auto_cache_path

Bool

False

Enable automatic Nuke caching of channel set data. This has no effect when used from the API.

file

String

The file name of the cache to be written

channel_list

ChannelList

Allows selection of the channels to write

overwrite

Bool

False

Determines if existing cache files will be overwritten

use_write_range

Bool

False

Only write frames that are within the specified range

write_range_start_frame

Float

1.0

The first frame which will be written

write_range_end_frame

Float

150.0

The last frame which will be written

allow_write

Bool

True

Specifies if cache writing is enabled.

allow_read

Bool

False

Specifies if previously saved caches can be read back, when this node is evaluated at times earlier than the current simulation.

Input plugs

Type

Description

channel_set

ChannelSet

The ChannelSet containing the fields to be written.

Output plugs

Type

Description

channel_set

ChannelSet

Either the input ChannelSet just passed through the node, or a previous cache that has been read back.

Camera

Creates a Camera data type.

Properties

Type

Default

Description

transform

M44f

Identity

Transform of the camera in world space

vertical_FOV

Float

pi*3/8

Vertical field of view, measured in radians

horizontal_FOV

Float

pi/2

Horizontal field of view, measured in radians

near_plane

Float

0.0001

Near clipping plane distance from the camera

far_plane

Float

1000.0

Far clipping plane distance from the camera

Output plugs

Type

Description

camera

Camera

The camera data.

ChannelSet

Combines multiple input ChannelSets and Fields into a single result ChannelSet.

Channel names can be provided for the fields that are being included in the new ChannelSet. If an input field is given the same name as a pre-existing channel in an input ChannelSet, then it will replace that channel in the result.

Properties

Type

Default

Description

field_names

String

A comma separated list of channel names for the input fields. Fields without a name will be given a default name.

Input plugs

Type

Description

channel_sets

ChannelSet (array, optional)

Zero or more ChannelSets to be combined into the result ChannelSet.

fields

Field (array, optional)

Zero of more Fields to be combined into the result ChannelSet.

Output plugs

Type

Description

channel_set

ChannelSet

The result ChannelSet containing all of the input channels and fields.

Collider

The collider node represents collision objects in the simulation space with which an Eddy simulation element can interact. Each collider is made up of a Signed Distance Field (SDF) representing the collision object geometry and a velocity vector channel representing the object motion.

Input plugs

Type

Description

field

Field (Scalar)

The signed-distance field describing the collision object surface.

velocity_field

Field (Vector, optional)

The velocity field of the collision object.

Output plugs

Type

Description

collider

Collider

The collider data which can be passed to a simulation element.

CreateGridBounds

The CreateGridBounds node allows to refine or coarsen a single or a collection of bounding boxes.

Properties

Type

Default

Description

size

Float

0.0

The uniform bounding box size used to fill the input bounding boxes.

levels

Int

0

The number of hierarchical coarsening levels used to reduce the overall number bounding boxes.

Input plugs

Type

Description

bounds

EddyBounds

Eddy bounds that will be coarsened/refined.

Output plugs

Type

Description

bounds

EddyBounds

Eddy bounds generated by the coarsening/refinement operation

Emitter

Emitters are typically used with an Eddy simulation element. An emitter can for example add smoke density or temperature to a specific location in space. It can also modify existing data during a simulation - for example by guiding the velocity channel of a simulation using external velocity data as a target.

Properties

Type

Default

Description

mode

String

“add”

Emission mode specifies how the emission value should be composited onto the existing value. See Emission Modes for the available modes.

insert_bounds

Bool

True

Inserts the bounding boxes of the connected field into the voxel layout, ensuring the space is allocated before the emission begins.

multiplier

Float

1.0

Scales the emitted value

direction_guide_strength

Float

1.0

VectorBlend mode parameter that controls how fast the direction of the guided channel changes to match the emitted direction

acceleration_guide_strength

Float

1.0

VectorBlend mode parameter that controls how fast the magnitude of the guided channel increases to match the emitted magnitude

deceleration_guide_strength

Float

1.0

VectorBlend mode parameter that controls how fast the magnitude of the guided channel decreases to match the emitted magnitude

Input plugs

Type

Description

field

Field

The field containing the values to emit.

Output plugs

Type

Description

emitter

Emitter

The emitter data which can be passed to a simulation element.

ExtractBounds

Extracts the bounds from a mesh or field. These bounds can then be used by other nodes such as the SetBounds or simulation element nodes.

Properties

Type

Default

Description

mode

String

“RootBounds”

Chooses what type of bounds to extract from the field. See Extract Bounds Modes for the available modes.

Input plugs

Type

Description

field

Field (optional)

A field from which to extract bounds.

compoundmesh

CompoundMesh (optional)

A compound mesh from which to extract bounds.

Output plugs

Type

Description

bounds

Bounds

The bounds extracted from the field and/or mesh.

MeshToVolume

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.

The mesh surface itself is returned as an SDF channel named ‘distance’. Mesh primvar channels will be returned as corresponding fields, and the fields will respect the mesh connectivity when interpolating, i.e. UV channels will not interpolate over non-adjacent faces. If a velocity channel is requested then the velocity channel will include the velocity due to the individual mesh transforms.

Properties

Type

Default

Description

feature_size

Float

0.1

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

bandwidth

Int

4

Number of voxels defining the narrow band

shell_width

Float

1.0

Artifical thickness for meshes that are not watertight. Specified in units of the number of voxels.

generate_vertex_velocities

Bool

True

Calculates local space vertex velocities directly from the mesh vertices, overriding any existing vertex velocity channels.

channel_list

ChannelList

Channels to be voxelized.

Input plugs

Type

Description

compoundmesh

CompoundMesh

The source mesh to convert to a set of fields.

Output plugs

Type

Description

channelset

ChannelSet

The ChannelSet containing the voxelized fields.

ParticleToVolume

Voxelizes a ParticleSystem, returning a ChannelSet containing a SDF channel for the particle surfaces. Particles can be voxelized as streaks by supplying a velocity and radius channel.

Properties

Type

Default

Description

feature_size

Float

0.1

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

default_radius

Float

0.1

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

streak_multiplier

Float

1.0

Length of streaks behind each particle

streak_falloff

Float

0.0

Rate of particle radius falloff along the streak

channel_list

ChannelList

List of channels to voxelize.

Input plugs

Type

Description

particles

ParticleSystem

The source particle system to voxelize.

Output plugs

Type

Description

channel_set

ChannelSet

The ChannelSet containing the voxelized fields.

PruneBounds

Samples the supplied volume in the area of each provided bounding box 4x4x4 times and deletes it if none of the samples fall within the valid range.

Properties

Type

Default

Description

min_valid_range

Float

0.0

Minimum value threshold that each bounding box will get tested against.

max_valid_range

Float

1.0

Maximum value threshold that each bounding box will get tested against.

Input plugs

Type

Description

bounds

Bounds

The source bounding box data.

field

Field

The scalar field providing the validity samples.

Output plugs

Type

Description

bounds

Bounds

The decimated output bounding box data.

Switch

Evaluates and returns only one of multiple connected inputs.

Properties

Type

Default

Description

select

Int

0

The array index of the input to be evaluated.

Input plugs

Type

Description

inputs

Any (array, optional)

The available inputs. Only one of these will be evaluated, based on the ‘select’ property.

Output plugs

Type

Description

output

Any

The result of evaluating the selected input.

Transform

Specifies a transformation matrix. Allows a parent transformation to be specified, enabling a transformation hierarchy.

Properties

Type

Default

Description

transform

M44f

Identity

The transformation matrix.

Input plugs

Type

Description

parent_transform

M44f (optional)

Optional parent transformation, enabling a transformation hierarchy to be defined.

Output plugs

Type

Description

transform

M44f

The result transformation matrix. If a parent was specified then this will be the combined transformation.

VolumeVisualizer

Associates a field with parameters describing how it should be visualized.

Properties

Type

Default

Description

enabled

Bool

True

Enables drawing

draw_bounds

Bool

False

Enable drawing of the overall bounding box wireframe

draw_subbounds

Bool

False

Enable drawing of the active space wireframe for sparse fields

width

Float

1.3

Multiplier to scale the bounding box size, or sets the bounding box size when the field has no bounds

force_sdf

Bool

False

Forces iso surface display mode

scalar_resolution

Int

64

Number of samples along the dominant axis of channel bounding box

ss_mult_primary

Float

1.0

The primary integration stepsize when integrating fog volume

ss_mult_secondary

Float

1.0

The secondary integration stepsize towards light sources when integrating fog volume

density_gain

Float

1.0

Multiplies the density when integrating the fog volume

shadow_density_gain

Float

1.0

Multiplies the shadow intensity when integrating the fog volume

light_color

Color3f

[1.0, 1.0, 1.0]

Color of the primary light source

light_position_relative

Bool

True

When enabled the light position is relative to the channel bounds, instead of being in world space

light_position

V3f

[2.0, 2.0, 2.0]

Position of the primary light source

vector_resolution

Int

32

Number of samples along the dominant axis of channel bounding box

vector_steps

Int

3

Number of segments of each vector trail

vector_scale

Float

0.0

Length multiplier for each vector trail segment

vector_min_length

Float

0.0

Vector magnitudes approaching this will be at the lower end of the heatmap spectrum. Magnitudes below this limit will not be drawn.

vector_max_length

Float

1.0

Vector magnitudes approaching this will be at the upper end of the heatmap spectrum. Should be larger than Vector Min Length.

vector_transparency

Bool

False

Enables transparency depth sorting for correct color display

use_crop_window

Bool

False

Enable corner point handles to adjust the visualizer draw region

crop_bbox

Box3f

The bounding box to crop the visualizer draw region

Input plugs

Type

Description

field

Field

The field to be visualized.

Output plugs

Type

Description

visualizer_data

VisualizerData

The visualizer data.

VolumeDebugVisualizer

Associates a field with parameters describing how it should be numerically visualized for debugging purposes.

Properties

Type

Default

Description

enabled

Bool

True

Enables drawing

draw_bounds

Bool

False

Enable drawing of the overall bounding box wireframe

draw_subbounds

Bool

False

Enable drawing of the active space wireframe for sparse fields

width

Float

1.3

Multiplier to scale the bounding box size, or sets the bounding box size when the field has no bounds

resolution

Int

8

Number of samples along the dominant axis of channel bounding box

text_color_scale

Bool

True

Field values affect the numeric visualization text color.

text_color

Color3f

[1.0, 1.0, 1.0]

The color of the numeric visualization text

text_scale

Float

1.0

Scales the size of the text

precision

Int

3

The floating point precision, controls how many values behind the comma of the displayed text

scientific

Bool

False

Use scientific notation to display floating point numbers

draw_background

Bool

True

Adds a background behind each text to make the text more readable

background_color

Color3f

[0.75, 0.75, 0.75]

The color of the background area.

use_value_range

Bool

False

Only values that are within the range specified will be displayed. For vector values the magnitude is used to check the range

min_value_range

Float

0.0001

Minimum range of the values that will be displayed

max_value_range

Float

1.0

Maximum range of the values that will be displayed

use_crop_window

Bool

False

Enable corner point handles to adjust the visualizer draw region

crop_bbox

Box3f

The bounding box to crop the visualizer draw region

Input plugs

Type

Description

field

Field

The field to be numerically visualized.

Output plugs

Type

Description

visualizer_data

VisualizerData

The visualizer data.

ImageWriter

Saves an image to a file.

Properties

Type

Default

Description

filename

String

Filename of the image to write.

Input plugs

Type

Description

image

Image

The image to save.

Output plugs

Type

Description

image

Image

Pass-through of the input image.

SunSky

Creates an image of the sky and optionally the sun, suitable for use as an environment light, based on various physical and standardized sky models. See SunSkyRefLabel for more details.

Properties

Type

Default

Description

width

Int

640

Width of the generated image

height

Int

480

Height of the generated image

color_space

String

“sRGB”

Color space of the generated image. See Color spaces for the available color spaces.

sky_model

String

“PhysicalSpectral”

Specifies the type of sky model, can be either a physical model or a standardized model. See Sky Model types for the available types.

include_direct_light

Bool

False

Specifies whether direct light, i.e. the solar disc itself, should be included in the image

sun_direction_mode

String

“Angles”

Specifies how the sun direction should be described. See Sky Sun direction modes for the available modes.

sun_zenith

Float

30.0

The zenith angle of the sun, in degrees. Zero is directly overhead, 90 degrees is at the horizon.

sun_azimuth

Float

60.0

The azimuth angle of the sun, in degrees. Zero degrees is the +Z direction, or north (middle of the image). 270 degrees is the +X direction, or west (left half of the image).

sun_direction

V3f

[1.0, 1.0, 0.0]

The sun direction specified directly. North (middle of the image) is (0,0,1), West (left half of the image) is (1,0,0), directly overhead is (0,1,0).

latitude

Float

-41.3

Latitude of location on Earth, in degrees. North is positive and South is negative.

longitude

Float

174.8

Longitude of location on Earth, in degrees. East is positive and West is negative.

year

Int

2017

Use negative for BC, i.e. 2 BC is -1. Valid dates must be after Nov 23, 4714 BC.

month

Int

10

Month, specified as a number from 1 to 12

day

Int

18

The day of the month, specified as a number from 1 to 31

hours

Float

15.0

The time of day in hours, specified in UT (i.e. GMT), not the local time. Between 0.0 and 24.0, hours after midnight.

minutes

Float

0.0

Minutes, between 0.0 and 60.0

seconds

Float

0.0

Seconds, between 0.0 and 60.0

cie_type

Int

12

CIE sky type, from 1 to 15. Selected values are 1 which is the CIE Standard Overcast Sky, 5 which is a sky of uniform luminance, 12 which is the CIE Standard Clear Sky, low luminance turbidity, and 13 which is the CIE Standard Clear Sky, polluted atmosphere.

turbidity

Float

2.0

Turbidity specifies the cloudiness or haziness of the sky

solar_illuminance

Float

20.0

Illuminance of the sun at the top of the atmosphere. Physically this is about 132,000 lux. The default however is just set to 20.0 in order to get colors in a more convenient range by default.

solar_illuminance_exposure

Float

0.0

An exposure value to scale the solar illuminance

solar_irradiance

Float

0.2

Irradiance of the sun at the top of the atmosphere, physically this is about 1361 W/m^2, default however is just 0.2 in order to get colors in a more convenient range by default.

solar_irradiance_exposure

Float

0.0

An exposure value to scale the solar irradiance

solar_color

Color3f

[1.0, 0.9, 0.87]

Color of the sun, in the specified color space, this will be scaled by the solar illuminance value. The physical XYZ value is about (0.97, 1.0, 1.04), or in sRGB about (1.1, 0.98, 0.85). Default value is set to the proportional sRGB value (1.0, 0.9, 0.87) for convenience.

planet_radius

Float

6360000.0

Radius of the planet in metres, for earth this is about 6,360,000 m

atmosphere_height

Float

60000.0

Height of the atmosphere in metres, this is used to determine ray lengths. For earth we use 60,000 m as density is negligible at that height.

scale_height_rayleigh

Float

7994.0

Scale height in metres of atmosphere for Rayleigh scattering, i.e thickness of the atmosphere if density was uniform.

scale_height_mie

Float

1200.0

Scale height in metres of atmosphere for Mie scattering due to aerosols, i.e thickness of the atmosphere if density was uniform.

elevation

Float

1.0

Elevation of viewer in metres

mie_extinction_coefficient

Float

2.1e-5

Mie extinction coefficient at sea level, we use 2.1e-5 as the default, higher values can be used to simulate pollution

mie_scattering_albedo

Float

0.9

Mie scattering albedo, default is 0.9

mie_phase_coefficient

Float

0.76

Mie phase function coefficient, default is 0.76

ozone_concentration

Float

8e-6

Maximum ozone concentration in the atmosphere, default is 8 parts per million.

ozone_custom_ramp

Bool

False

Allows a custom ramp to be set which specifies how ozone concentration varies with altitude. If a custom ramp is not used, a default ramp will be used which has the ozone layer in the 30-35km region.

ozone_altitude_ramp

FloatRamp

A ramp which will scale the ozone concentration based on the altitude. The X-axis corresponds to height, with 1.0 corresponding to the total height of the atmosphere, and the Y-axis is the value which will scale the ozone concentration.

sample_count

Int

32

How many integration samples to take

physical_rayleigh_scattering

Bool

True

Enable to use physically calculated rayleigh scattering constants

rayleigh_scattering

V3f

[3.8e-6, 13.5e-6, 33.1e-6]

The rayleigh scattering coefficients in the specified color space

direct_solar_illuminance

Float

20.0

Illuminance of the sun at the top of the atmosphere. Physically this is about 132,000 lux. The default however is just set to 20.0 in order to get colors in a more convenient range by default.

direct_solar_illuminance_exposure

Float

0.0

An exposure value to scale the solar illuminance

solar_angular_diameter

Float

0.5357

Sun angular diameter, measured in degrees. Default is 0.5357 degrees. This is used only for the solar disc when direct light is included, it does not change the sun from being treated as a directional light.

sky_tint

Color3f

[1.0, 1.0, 1.0]

Sky tint, will be applied in the specified color space

sky_tint_exposure

Float

0.0

An exposure value to scale the sky tint

direct_light_tint

Color3f

[1.0, 1.0, 1.0]

Direct light tint, will be applied in the specified color space

direct_light_tint_exposure

Float

0.0

An exposure value to scale the direct light tint

Input plugs

Type

Description

camera

Camera (optional)

An optional camera that will be used to render just the part of the environment map seen by the camera. Note that the position of the camera is not used, the elevation property must still be set directly.

deep_clip_image

DeepImageGenerator (optional)

An optional deep image that will be used to create a clipping depth for the atmosphere rays in the physical sky models. This is useful to compute atmospheric hazing over a source deep image.

Output plugs

Type

Description

image

ImageGenerator

The ImageGenerator that can be used to create the environment map.

deep_image

DeepImageGenerator

The DeepImageGenerator that can be used to create the deep image of the sky.

Field nodes

BoxField

Creates a box signed-distance field.

Properties

Type

Default

Description

dimensions

V3f

[1.0, 1.0, 1.0]

Dimensions of the box in scene units

transform

M44f

Identity

Transform of the box in world space.

Output plugs

Type

Description

field

Field (Scalar)

The box field.

ChannelSetField

Extracts a single field from a ChannelSet.

Properties

Type

Default

Description

mode

String

“scalar”

Selects what type of field to extract from the ChannelSet. Can be “scalar” or “vector”.

channel

String

The name of the channel to extract.

transform

M44f

Identity

An additional transform to apply to the extracted field.

Input plugs

Type

Description

channel_set

ChannelSet

The ChannelSet containing the field to be extracted.

Output plugs

Type

Description

field

Field (Scalar)

The extracted field.

ComponentField

Constructs a vector channel from three input scalar channels representing the x, y and z components of the vector. If an input componnet is not connected the value of that component is assumed to be zero.

This node is useful when one wants to manually bundle together three scalar channels into a vector channel for use as for example guide forces for a simulation.

For the inverse operation (i.e. extracting a component of a vector channel as a scalar field) see the MathNode.

Properties

Type

Default

Description

transform_type

String

“Vector”

Specifies how this vector field should behave when transformed. See Vector Transform Types for the available types.

Input plugs

Type

Description

fieldX

Field (Scalar, optional)

The scalar field defining the X component of the result.

fieldY

Field (Scalar, optional)

The scalar field defining the Y component of the result.

fieldZ

Field (Scalar, optional)

The scalar field defining the Z component of the result.

Output plugs

Type

Description

field

Field (Vector)

The vector field constructed by combining the three component fields.

CompositeField

Composites together multiple field inputs.

Properties

Type

Default

Description

mode

String

“add”

Type of compositing operation performed by the node. See Compositing Modes for the available modes.

first_bound_only

Bool

False

Specifies the result bounds should be the bounds of the first input only.

Input plugs

Type

Description

fields

Field (array)

The input fields to be composited.

Output plugs

Type

Description

field

Field

The result field.

ConstantField

Generates a field with a constant value everywhere in space.

Properties

Type

Default

Description

mode

String

“scalar”

The type of constant field to create

transform_type

String

“Vector”

Specifies how this vector field should behave when transformed. See Vector Transform Types for the available types.

scalar_value

Float

1.0

The constant scalar value of the field

vector_value

V3f

[0.0, 0.0, 0.0]

The constant vector value of the field

transform

M44f

Identity

Transform to apply to the field.

Output plugs

Type

Description

field

Field

The result field.

CylinderField

Creates a cylinder signed-distance field.

Properties

Type

Default

Description

radius

Float

0.3

Radius of the cylinder in scene units

height

Float

1.0

Height of the cylinder in scene units

transform

M44f

Identity

Transform of the cylinder.

Output plugs

Type

Description

field

Field (Scalar)

The result field.

ExpressionField

Creates a field defined by an expression script which can be evaluated to determine the value of the field at each point.

Properties

Type

Default

Description

field_type

String

“Scalar”

The type of the field to create. See Field Types for the available types.

language

String

“Python”

The language to use for the field expression. See Script Language Types for the available types.

expression_python_scalar

String

Python script for the scalar field expression

expression_python_vector

String

Python script for the vector field expression

expression_cpp_scalar

String

C++ script for the scalar field expression

expression_cpp_vector

String

C++ script for the vector field expression

transform

M44f

Identity

Transform to apply to the field.

Input plugs

Type

Description

bounds

Box3f (optional)

Provides the bounding box of the field.

Output plugs

Type

Description

field

Field (Scalar)

The result field.

FilterField

Performs a filtering operation on the input channel. This will produce blur like effects or act as a low pass filter.

Properties

Type

Default

Description

mode

String

“box”

The filtering operation to perform on the input. See Filter Function Modes for the available modes.

kernel_width

Float

1.0

The size of the filtering kernel, measured in distance units.

Input plugs

Type

Description

field

Field

The source field on which to perform the finite differencing operation.

Output plugs

Type

Description

field

Field (Vector)

The result field.

FiniteDifferenceField

Perform finite difference operations on the input channel. A finite difference operation is an approximation of the equivalent mathematical operator - for example the gradient operator.

Properties

Type

Default

Description

mode

String

“gradient”

The type of finite differencing operation to perform. See Finite Difference Modes for the available modes.

stencil_width

Float

0.2

The size of the stencil to use for finite differencing, measured in distance units.

Input plugs

Type

Description

field

Field

The source field on which to perform the finite differencing operation.

Output plugs

Type

Description

field

Field (Vector)

The result field.

ImageField

Creates a field from an image, either by stretching the image into a box, or projecting the image using a camera.

Properties

Type

Default

Description

mode

String

“scalar”

The type of image field to create. Vector fields will return the RGB color in the XYZ vector components. Can be “scalar” or “vector”.

transform_type

String

“Vector”

Specifies how this vector field should behave when transformed. See Vector Transform Types for the available types.

dimensions

V3f

[1.0, 1.0, 0.1]

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

keep_aspect_ratio

Bool

True

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

as_texture

Bool

False

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

image

Image

The image to sample for the field values

override_projection_matrix

Bool

False

Specifies that the ‘projection_matrix’ property should be used instead of the camera’s projection matrix.

projection_matrix

M44f

Identity

Projection matrix to use if ‘override_projection_matrix’ is true.

transform

M44f

Identity

Transform to apply to the field when not using a camera.

Input plugs

Type

Description

camera

Camera (optional)

Optionally projects the image using the camera.

Output plugs

Type

Description

field

Field (Scalar)

The result field.

InstanceField

Combines multiple fields into a single field by merging multiple transformed instances.

Properties

Type

Default

Description

mode

String

“Add”

Specifies how to combine the fields. See Instance Field Modes for the available modes.

ambient_scalar

Float

0.0

The ambient scalar value, outside the instanced fields.

ambient_vector

V3f

[0.0, 0.0, 0.0]

The ambient vector value, outside the instanced fields.

Input plugs

Type

Description

instance_collection

InstanceCollection

An Eddy instance collection containing volume channels.

Output plugs

Type

Description

field

Field

The result field.

IsoMaskField

Creates a mask field from a signed-distance field.

Properties

Type

Default

Description

mode

String

“scalar”

The type of mask field to create. Can be “scalar” or “vector”.

transform_type

String

“Vector”

Specifies how this vector field should behave when transformed. See Vector Transform Types for the available types.

iso_value

Float

0.0

The value which defines the transition of the input field from inside to outside. Values smaller than this are defined as the interior.

falloff

Float

0.0

Blends the mask from the inside value to the outside value, as the input field varies from the iso value to the sum of the iso value and the falloff

scalar_inside_value

Float

1.0

Value of the mask field in the interior region of the input field

scalar_outside_value

Float

0.0

Value of the mask field in the exterior region of the input field

vector_inside_value

V3f

[1.0, 1.0, 1.0]

Value of the mask field in the interior region of the input field

vector_outside_value

V3f

[0.0, 0.0, 0.0]

Value of the mask field in the exterior region of the input field

Input plugs

Type

Description

field

Field (Scalar)

The signed-distance source field.

Output plugs

Type

Description

field

Field (Scalar)

The result field.

MathField

Perform basic mathematical operations on the input field.

Properties

Type

Default

Description

mode

String

“absolute”

The type of math operation to perform. See Math Field Modes for the availble modes.

Input plugs

Type

Description

field

Field

The source field.

Output plugs

Type

Description

field

Field (Scalar)

The result field.

OffsetLookupField

Distorts the input field through a vector field describing the displacement.

Properties

Type

Default

Description

mode

String

“trace”

The type of offset lookup operation to perform. See Offset Lookup Field Modes for the available modes.

scale

Float

1.0

Scale applied to the offset field controlling the magnitude of the offset/distortion

trace_steps

Int

1

The maximum number of offset steps to take when tracing through the field

bbox_gain

Float

1.0

Adjusts the size change of the generated bounding box for the new output channel. A value of 0.0 will keep the input bounds.

Input plugs

Type

Description

field

Field

The source field to be distorted.

offset_field

Field (Vector)

The offset vector field describing how the source should be distorted.

Output plugs

Type

Description

field

Field

The result field.

PerlinNoiseField

Generates a field containing Perlin noise.

Properties

Type

Default

Description

mode

String

“scalar”

The type of noise field to create

transform_type

String

“Vector”

Specifies how this vector field should behave when transformed. See Vector Transform Types for the available types.

seed

Int

0

Seed for the random number generator, change to get a different pattern of randomness

frequency

V3f

[1.0, 1.0, 1.0]

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

scalar_amplitude

Float

1.0

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

vector_amplitude

V3f

[1.0, 1.0, 1.0]

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

octaves

Int

1

Number of octaves of noise to combine, more octaves will add higher frequency detail to the final noise

lacunarity

Float

2.0

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

Float

0.5

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

Bool

False

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

phase

Float

0.0

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

transform

M44f

Identity

Transform to apply to the field.

Output plugs

Type

Description

field

Field (Scalar)

The result field.

PlaneField

Creates a plane signed-distance field.

Properties

Type

Default

Description

transform

M44f

Identity

Transform of the plane.

Output plugs

Type

Description

field

Field (Scalar)

The result field.

RemapField

Remaps the values in a field.

Properties

Type

Default

Description

oldMinValueScalar

Float

0.0

Minimum of the source range to be remapped, this value will sample the ramp at position 0.0

oldMaxValueScalar

Float

1.0

Maximum of the source range to be remapped, this value will sample the ramp at position 1.0

newMinValueScalar

Float

0.0

Minimum of the target range, this is the output value when the ramp returns 0.0

newMaxValueScalar

Float

1.0

Maximum of the target range, this is the output value when the ramp returns 1.0

oldMinValueVector

V3f

[0.0, 0.0, 0.0]

Minimum of the source range to be remapped, this value will sample the ramp at position 0.0

oldMaxValueVector

V3f

[1.0, 1.0, 1.0]

Maximum of the source range to be remapped, this value will sample the ramp at position 1.0

newMinValueVector

V3f

[0.0, 0.0, 0.0]

Minimum of the target range, this is the output value when the ramp returns 0.0

newMaxValueVector

V3f

[1.0, 1.0, 1.0]

Maximum of the target range, this is the output value when the ramp returns 1.0

ramp

FloatRamp

The ramp to use for remapping

clamp

Bool

True

Clamps the ramp to between 0 and 1

Input plugs

Type

Description

field

Field

The source field to be remapped.

Output plugs

Type

Description

field

Field

The result field.

SphereField

Creates a sphere SDF field.

Properties

Type

Default

Description

radius

Float

0.5

Radius of the sphere in scene units

transform

M44f

Identity

Transform of the sphere, scaling is allowed

Output plugs

Type

Description

field

Field (Scalar)

The result sphere field

SetBoundsField

Sets the bounds of a field. This will override any existing bounds on the field.

Input plugs

Type

Description

field

Field

The source field.

bounds

Bounds

The new bounds for the field.

Output plugs

Type

Description

field

Field

The result field with the new bounds.

TransformField

Applies a transformation to a field.

Properties

Type

Default

Description

transform

M44f

Identity

Transform to apply to the field

Input plugs

Type

Description

field

Field

The source field.

Output plugs

Type

Description

field

Field

The transformed field.

TransformVelocityField

Generates a velocity field from the input transformation. The input transformation should be keyframed in order to have a velocity.

Properties

Type

Default

Description

position_vel

Bool

True

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

rotation_vel

Bool

True

Include rotational motion in the final velocity

scale_vel

Bool

True

Include scaling motion in the final velocity

transform

M44f

Identity

The transform from which to extract the velocity.

Output plugs

Type

Description

field

Field (Vector)

The result velocity field.

VectorMathField

Perform vector math operations on two input channels.

Properties

Type

Default

Description

mode

String

“dot”

The type of math operation to perform. See Vector Math Field Modes for the available modes.

Input plugs

Type

Description

fieldA

Field (Vector)

The first input field.

fieldB

Field (Vector)

The second input field.

Output plugs

Type

Description

field

Field (Scalar)

The result field.

RasterizeField

Rasterizes a field into a voxel grid.

This node can be used to rasterize a field into a voxel grid. If the input field was made from a large network of expensive nodes, it can be expensive to sample. The rasterized output field is faster to sample, albeit at the cost of memory and quality. Operations which require a lot of sampling (e.g. rendering) can benefit from using a rasterized field.

Properties

Type

Default

Description

voxel_size

Float

0.1

Size of the rasterized voxels.

interpolator

String

“Trilinear”

The interpolator to use when sampling the resulting voxel field. See Interpolation Types for the available types.

Input plugs

Type

Description

field

Field

The source field to be rasterized.

Output plugs

Type

Description

field

Field

The result field.

Instancing nodes

InstanceCallsheet

This node creates a callsheet which combines multiple unique instance items into a single collection.

Properties

Type

Default

Description

Input plugs

Type

Description

instance_item

InstanceItem

Eddy instance items with unique indentifiers.

Output plugs

Type

Description

instance_callsheet

InstanceCallsheet

An Eddy callsheet.

InstanceChannelset

This node will combine all instanced channelsets into a single channelset containing all channels.

Properties

Type

Default

Description

mode_scalar

String

“Max”

The compositing mode to use when combining overlapping instances. See Instance Field Modes for the available modes.

mode_vector

String

“Avg”

The compositing mode to use when combining overlapping instances. See Instance Field Modes for the available modes.

ambient_scalar

Float

0.0

The ambient or outside value is returned in areas where no instances are present.

ambient_vector

V3f

[0.0,0.0,0.0]

The ambient or outside value is returned in areas where no instances are present.

Input plugs

Type

Description

instance_collection

InstanceCollection

An Eddy instancer for recursive instancing.

Output plugs

Type

Description

channelset

Channelset

An Eddy callsheet containing all the instanced channelsets combined into one.

InstanceItem

This node creates a generic instance item from given a supported input.

Properties

Type

Default

Description

id

Int

1

A unique identifier used to reference this item in a callsheet.

weight

Float

1.0

A probability weight to increase the chance this item gets chosen during random selection.

Input plugs

Type

Description

field

Field

An Eddy field that will be instantiated.

mesh

Mesh

An Eddy mesh that will be instantiated.

channelset

Channelset

An Eddy channelset that will be instantiated.

instancer

Instancer

An Eddy instancer for recursive instancing.

Output plugs

Type

Description

instance_item

InstanceItem

An Eddy instance item that describes the input to the instancing system.

InstanceItemVariant

This node selects an instance item from one of the given inputs randomly. This can be a simple way to add variations.

Properties

Type

Default

Description

id

Int

1

A unique identifier used to reference this item in a callsheet.

weight

Float

1.0

A probability weight to increase the chance this item gets chosen during random selection.

Input plugs

Type

Description

instance_items

InstanceItem

An Eddy instance item that will be selected based on its probability weight.

Output plugs

Type

Description

instance_item

InstanceItem

An Eddy instance item that describes the input to the instancing system.

InstanceItemVolumeCache

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.

Properties

Type

Default

Description

id

Int

1

A unique identifier used to reference this item in a callsheet.

weight

Float

1.0

A probability weight to increase the chance this item gets chosen during random selection.

file

String

“”

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

random_offset_range

Int

100

This will pick a random time offset for each instance centered around the current frame.

voxel_size_gain

Float

1.f

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

Int

5

The maximum number of LOD levels allowed.

min_lod_width

Float

0.05

The minimum pixel width of a voxel in camera space when the coarsest LOD level is used.

max_lod_gain

Float

4.0

The maximum coarsening for the cache at the maximum Lod level. This gain is in addition to the base voxel size gain parameter.

screen_size

V2i

[1920,1080]

The screen size in pixels used to determine the Lod level for each cache.

suppress_missing_file_error

Bool

false

No errors are generated when a file is not found.

load_all_channels

Bool

true

When enabled all channels are loaded and the ChannelList is ignored.

load_constant_tiles

Bool

true

If disabled the cache loader will ignore OpenVDB constant tiles. This could for example be the interior of an SDF shape.

channel_list

ChannelList

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.

Input plugs

Type

Description

Output plugs

Type

Description

instance_item

InstanceItem

An Eddy instance item that describes the input to the instancing system.

Instancer

This node generates all the unique instances and outputs them as an instance collection which holds all different supported types.

Properties

Type

Default

Description

random_seed

Int

1237

Seed for the random number generator.

Input plugs

Type

Description

instancer

Instancer

Eddy instancers that will be built.

camera

Camera

An Eddy camera that will be used to determine the level of detail for instances where applicable.

Output plugs

Type

Description

instance_collection

InstanceCollection

An Eddy instance collection containing all the unique instances of all supported types.

ParticleInstance

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.

Properties

Type

Default

Description

particle_id_channel

String

“id”

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

String

“random”

Set the mode which determines how the unique ids in the callsheet are accessed. See Instance callsheet modes for more information.

callsheet_channel

String

“”

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

String

“none”

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

String

“”

Set the integer particle channel that will generate the frame time for each particle. It allows direct control of the instance item volume cache by passing the absolute time as a particle value.

rotation_mode

String

“random”

Set the mode which determines how the rotation of each instance is generated. See Instance rotation modes for more information.

rotation_channel

String

“”

Set the vector particle channel that will generate the rotation for each particle. The expected values are in Euler angles.

random_rotation_min

V3f

[0.0,0.0,0.0]

The minimum rotation range in Euler angles that will be used when generating random rotations for each instance.

random_rotation_max

V3f

[0.0,0.0,0.0]

The maximum rotation range in Euler angles that will be used when generating random rotations for each instance.

scale_mode

String

“random”

Set the mode which determines how the scaling of each instance is generated. See Instance scale modes for more information.

uniform_scale

Bool

true

When enabled the scaling for each axis will be determined by a single random number opposed to a random number for each axis.

random_scale_min

V3f

[0.0,0.0,0.0]

The minimum scaling range that will be used when generating a random scaling for each instance.

random_scale_max

V3f

[0.0,0.0,0.0]

The maximum scaling range that will be used when generating a random scaling for each instance.

Input plugs

Type

Description

particles

ParticleSystem

An Eddy particle system defining particle positions.

instance_callsheet

InstanceCallsheet

An Eddy instance callsheet that specifies the instance items available for instancing.

Output plugs

Type

Description

instancer

Instancer

An Eddy instancer.

RandomInstance

The node will randomly pick one of the connected instance items and place them at each location.

Properties

Type

Default

Description

Input plugs

Type

Description

instance_items

InstanceItem

An Eddy instance item that can be chosen from.

transform

M44f (array)

One or more transforms representing the transforms of each instance

Output plugs

Type

Description

instancer

Instancer

An Eddy instancer.

Particle nodes

ParticleCacheLoader

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

Properties

Type

Default

Description

file

String

“”

File name of the cache to load.

suppress_missing_file_error

Bool

False

Allows suppression of the error due to the file not being bound, an empty Par will be silently returned.

load_all_channels

Bool

False

Requests that all channels in the cache be loaded, they do not need to be explicitly listed in the channel_list property.

on_error

String

“error”

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

channel_list

ChannelList

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

Input plugs

Type

Description

Output plugs

Type

Description

particles

ParticleSystem

An Eddy particle system.

ParticleCacheWriter

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

Properties

Type

Default

Description

file

String

“”

File name the particles will be written to.

overwrite

Bool

False

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

use_write_range

Bool

False

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

write_range_start_frame

Float

1.0

First frame that will be cached

write_range_start_frame

Float

150.0

Last frame that will be cached

channel_list

ChannelList

Selects which channel to write to the cache. See Channel Set widget.

Input plugs

Type

Description

particles

ParticleSystem

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

Output plugs

Type

Description

particles

ParticleSystem

An Eddy particle system.

ParticleExpression

Allows to modify particle channels via expressions.

Properties

Type

Default

Description

language

String

“Python”

The language in which the expression script is written.

expression_python

String

“def particle_expression(i_particleIndex=Int):n passn”

The script containing the function defining the field.

expression_cpp

String

“void particle_expression(const int i_particleIndex)n{n return;n}n”

The script containing the function defining the field.

Input plugs

Type

Description

particles

ParticleSystem

An Eddy particle system.

Output plugs

Type

Description

particles

ParticleSystem

An Eddy particle system.

ParticleSystem

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

Properties

Type

Default

Description

start_frame

Int

1

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

channel_list

ChannelList

Selects which channels will be added to the particle system upon reset.

Input plugs

Type

Description

particles

ParticleSystem

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

Output plugs

Type

Description

particles

ParticleSystem

An Eddy particle system.

ParticleVisualizer

A visualizer for an Eddy particle system.

Properties

Type

Default

Description

enabled

Bool

True

Enables the visualizer.

color_mode

String

constant

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

color

Color3f

[1.f,1.f,1.f]

The constant color for each particle.

color_channel

String

“”

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

velocity_remap

Bool

False

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

max_velocity

Float

2.0

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

radius_mode

String

constant

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

radius

Float

1.f

This constant radius is used to display each particle.

radius_channel

String

“”

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

Input plugs

Type

Description

particles

ParticleSystem

An Eddy particle system that will be visualized.

Output plugs

Type

Description

visualizer_data

VisualizerData

The visualizer data.

Element nodes

CombustionElement

A simulation element with a combustion model. It uses a DenseVolume to store the simulation.

Properties

Type

Default

Description

dimensions

V3f

[1.5, 1.5, 1.5]

The dimensions of the computational grid in scene units

resolution

Int

128

The number of voxels along the major axis of the domain

use_grid_expansion

Bool

False

Allows the simulation world (space) to grow dynamically with the simulation

expansion_min_resolution

V3i

[32, 32, 32]

The lowest resolution allowed when using dynamic grid expansion

expansion_max_resolution

V3i

[512, 512, 512]

The highest resolution allowed when using dynamic grid expansion

expansion_delay

Int

5

The number of computation cycles between each grid expansion event

expansion_padding

Int

30

The number of empty voxels added as padding around the smoke when the simulation space is reshaped

expansion_density_threshold

Float

0.0

The smoke lower density threshold used to determine what regions of the simulation to preserve when the simulation space is reshaped

quality_mode

Bool

False

Emphasize simulation quality over speed

buoyancy_dir

V3f

[0.0, 1.0, 0.0]

The direction of the buoyancy force

kinematic_viscosity

Float

0.0

The kinematic viscosity of the fluid. Unit is m2/s

num_pressure_iterations

Int

30

The maximum number of computation cycles allowed to compute the pressure channel of the fluid

num_viscosity_iterations

Int

30

The maximum number of computation cycles allowed to solve for viscosity

pressure_error_tolerance

Float

0.0

The pressure error tolerance in terms of amount of fluid compressibility

viscosity_error_tolerance

Float

0.0

The viscosity error tolerance

use_multigrid_acceleration

Bool

True

Enable a method that greatly increases the quality of the pressure channe. Keep enabled unless you experience artifacts or stability issues

cfl_min_steps

Int

1

The minimum number of simulation steps per frame

cfl_max_steps

Int

1

The maximum number of simulation steps per frame

dt_scale

Float

1.0

Time scaling constant. 2.0 means time flows 2x faster than normal

dens_dissipation

Float

0.0

The rate by which smoke dissipates

dens_dissipation_low_thresh

Float

0.0

Smoke density threshold below which dissipation increases rapidly

dens_dissipation_low_rate_gain

Float

4.0

Multiplier on the rate of non-linear dissipation below the threshold density

use_vorticity_confinement

Bool

True

Enable a method that adds energy to vortices in the simulation

vorticity_confinement

Float

5.0

Determines the amount of energy added to the vortices

vorticity_confinement_adaptive

Bool

True

Enables a method that only injects energy into relevant regions of the simulation

vorticity_confinement_scale_energy_falloff_power

Float

1.0

Controls the distribution of the size of the features targeted by the adaptivity method. Higher values more strongly emphasises high frequencies

vorticity_confinement_adaptive_tolerance

Float

0.3

Threshold determining how aggressively the adaptivity oracle selects valid regions for energy injection

use_wavelet_turbulence

Bool

True

Enables an algorithm that synthesizes additional turbulence adding visual complexity to the simulation

wavelet_turbulence_strength

Float

30.0

Controls the magnitude of the synthesized turbulence

wavelet_turbulence_scale_energy_falloff_power

Float

3.0

Controls the distribution of the size of the features targeted by the adaptivity method. Higher values more strongly emphasises high frequencies

wavelet_turbulence_adaptive_tolerance

Float

0.1

Threshold determining how aggressively the turbulence adaptivity oracle selects valid regions for turbulence injection

cooling_rate

Float

1900.0

The rate by which the soot cools through heat exchange with the surroundings

ignition_value

Float

50.0

The temperature at which the fuel ignites

combustion_value

Float

1400.0

The temperature with which the fuel burns

carbon_value

Float

0.2

The amount of carbon residue (i.e. soot) produced per unit of fuel consumed

burn_rate

Float

3.0

The amount of fuel consumed per second as the fuel burns

fuel_expansion

Float

0.2

The amount of fuel volume gain, i.e. expansion caused per unit of fuel consumed

fuel_combustion_threshold

Float

0.2

The maximum fuel density allowed for ignition

channel_list

ChannelList

Allows specification of channel meta data like interpolation or transformation mode

Input plugs

Type

Description

density

Emitter (array, optional)

An emitter for the density channel.

temperature

Emitter (array, optional)

An emitter for the temperature channel.

fuel

Emitter (array, optional)

An emitter for the fuel channel.

velocity

Emitter (array, optional)

An emitter for the velocity channel.

colliders

Collider (array, optional)

The collision objects for the simulation.

Output plugs

Type

Description

element

DenseVolumeChannelSet

The ChannelSet containing the simulated fields.

SparseCombustionElement

A simulation element with a combustion model. It uses a SparseVolume to store the simulation.

Properties

Type

Default

Description

dx

Float

1.0

The size in scene units of the smallest feature that can be present in the simulation

initial_state_cachefile

String

None

Specify a filepath to a .vdb file that will be used to populate the initial state of the fluid channels, when the element is reset.

automatic_grid_padding

Bool

True

Enables a method that attempts to automatically find the optimal active space for the simulation

automatic_grid_padding_aggressiveness

Float

0.0

Controls how aggressively new space is added to the active set

automatic_grid_padding_max_padding

Int

16

This is a limit to the maximum distance in voxels that the active set is allowed to be expanded by the auto padding heuristic

use_grid_padding

Bool

True

Enables padding the active space based on smoke density

grid_padding_amount

Int

5

The number of voxel layers with which the active space is padded

grid_padding_density_threshold

Float

0.0

The lower density threshold that define the region of interest which is the base for the active space

grid_padding_fuel_threshold

Float

0.0

The lower fuel amount threshold that define the region of interest which is the base for the active space

quality_mode

Bool

False

Emphasize simulation quality over speed

buoyancy_dir

V3f

[0.0, 1.0, 0.0]

The direction of the buoyancy force

kinematic_viscosity

Float

0.0

The kinematic viscosity of the fluid. Unit is m2/s

num_pressure_iterations

Int

30

The maximum number of computation cycles allowed to compute the pressure channel of the fluid

num_viscosity_iterations

Int

30

The maximum number of computation cycles allowed to solve for viscosity

pressure_error_tolerance

Float

0.0

The pressure error tolerance in terms of amount of fluid compressibility

viscosity_error_tolerance

Float

0.0

The viscosity error tolerance

use_multigrid_acceleration

Bool

True

Enable a method that greatly increases the quality of the pressure channe. Keep enabled unless you experience artifacts or stability issues

cfl_min_steps

Int

1

The minimum number of simulation steps per frame

cfl_max_steps

Int

1

The maximum number of simulation steps per frame

dt_scale

Float

1.0

Time scaling constant. 2.0 means time flows 2x faster than normal

dens_dissipation

Float

0.0

The rate by which smoke dissipates

dens_dissipation_low_thresh

Float

0.0

Smoke density threshold below which dissipation increases rapidly

dens_dissipation_low_rate_gain

Float

4.0

Multiplier on the rate of non-linear dissipation below the threshold density

use_vorticity_confinement

Bool

True

Enable a method that adds energy to vortices in the simulation

vorticity_confinement

Float

2.0

Determines the amount of energy added to the vortices

vorticity_confinement_adaptive

Bool

True

Enables a method that only injects energy into relevant regions of the simulation

vorticity_confinement_scale_energy_falloff_power

Float

1.0

Controls the distribution of the size of the features targeted by the adaptivity method. Higher values more strongly emphasises high frequencies

vorticity_confinement_adaptive_tolerance

Float

0.3

Threshold determining how aggressively the adaptivity oracle selects valid regions for energy injection

use_wavelet_turbulence

Bool

True

Enables an algorithm that synthesizes additional turbulence adding visual complexity to the simulation

wavelet_turbulence_strength

Float

30.0

Controls the magnitude of the synthesized turbulence

wavelet_turbulence_scale_energy_falloff_power

Float

3.0

Controls the distribution of the size of the features targeted by the adaptivity method. Higher values more strongly emphasises high frequencies

wavelet_turbulence_adaptive_tolerance

Float

0.1

Threshold determining how aggressively the turbulence adaptivity oracle selects valid regions for turbulence injection

cooling_rate

Float

1900.0

The rate by which the soot cools through heat exchange with the surroundings

ignition_value

Float

50.0

The temperature at which the fuel ignites

combustion_value

Float

1400.0

The temperature with which the fuel burns

carbon_value

Float

0.2

The amount of carbon residue (i.e. soot) produced per unit of fuel consumed

burn_rate

Float

3.0

The amount of fuel consumed per second as the fuel burns

fuel_expansion

Float

0.2

The amount of fuel volume gain, i.e. expansion caused per unit of fuel consumed

fuel_combustion_threshold

Float

0.2

The maximum fuel density allowed for ignition

channel_list

ChannelList

Allows specification of channel meta data like interpolation or transformation mode

Input plugs

Type

Description

density

Emitter (array, optional)

An emitter for the density channel.

temperature

Emitter (array, optional)

An emitter for the temperature channel.

fuel

Emitter (array, optional)

An emitter for the fuel channel.

velocity

Emitter (array, optional)

An emitter for the velocity channel.

colliders

Collider (array, optional)

The collision objects for the simulation.

bounds

Box3f (optional)

Bounding box that constrains the expansion of the simulation.

Output plugs

Type

Description

element

SparseVolumeChannelSet

The ChannelSet containing the simulated fields.

SmokeElement

A simulation element for smoke or dust. It uses a DenseVolume to store the simulation.

Properties

Type

Default

Description

dimensions

V3f

[1.5, 1.5, 1.5]

The dimensions of the computational grid in scene units

resolution

Int

128

The number of voxels along the major axis of the domain

use_grid_expansion

Bool

False

Allows the simulation world (space) to grow dynamically with the simulation

expansion_min_resolution

V3i

[32, 32, 32]

The lowest resolution allowed when using dynamic grid expansion

expansion_max_resolution

V3i

[512, 512, 512]

The highest resolution allowed when using dynamic grid expansion

expansion_delay

Int

5

The number of computation cycles between each grid expansion event

expansion_padding

Int

30

The number of empty voxels added as padding around the smoke when the simulation space is reshaped

expansion_density_threshold

Float

0.0

The smoke lower density threshold used to determine what regions of the simulation to preserve when the simulation space is reshaped

quality_mode

Bool

False

Emphasize simulation quality over speed

buoyancy_dir

V3f

[0.0, 1.0, 0.0]

The direction of the buoyancy force

kinematic_viscosity

Float

0.0

The kinematic viscosity of the fluid. Unit is m2/s

num_pressure_iterations

Int

30

The maximum number of computation cycles allowed to compute the pressure channel of the fluid

num_viscosity_iterations

Int

30

The maximum number of computation cycles allowed to solve for viscosity

pressure_error_tolerance

Float

0.0

The pressure error tolerance in terms of amount of fluid compressibility

viscosity_error_tolerance

Float

0.0

The viscosity error tolerance

use_multigrid_acceleration

Bool

True

Enable a method that greatly increases the quality of the pressure channe. Keep enabled unless you experience artifacts or stability issues

cfl_min_steps

Int

1

The minimum number of simulation steps per frame

cfl_max_steps

Int

1

The maximum number of simulation steps per frame

dt_scale

Float

1.0

Time scaling constant. 2.0 means time flows 2x faster than normal

dens_dissipation

Float

0.0

The rate by which smoke dissipates

dens_dissipation_low_thresh

Float

0.0

Smoke density threshold below which dissipation increases rapidly

dens_dissipation_low_rate_gain

Float

4.0

Multiplier on the rate of non-linear dissipation below the threshold density

use_vorticity_confinement

Bool

True

Enable a method that adds energy to vortices in the simulation

vorticity_confinement

Float

5.0

Determines the amount of energy added to the vortices

vorticity_confinement_adaptive

Bool

True

Enables a method that only injects energy into relevant regions of the simulation

vorticity_confinement_scale_energy_falloff_power

Float

1.0

Controls the distribution of the size of the features targeted by the adaptivity method. Higher values more strongly emphasises high frequencies

vorticity_confinement_adaptive_tolerance

Float

0.3

Threshold determining how aggressively the adaptivity oracle selects valid regions for energy injection

use_wavelet_turbulence

Bool

True

Enables an algorithm that synthesizes additional turbulence adding visual complexity to the simulation

wavelet_turbulence_strength

Float

30.0

Controls the magnitude of the synthesized turbulence

wavelet_turbulence_scale_energy_falloff_power

Float

3.0

Controls the distribution of the size of the features targeted by the adaptivity method. Higher values more strongly emphasises high frequencies

wavelet_turbulence_adaptive_tolerance

Float

0.1

Threshold determining how aggressively the turbulence adaptivity oracle selects valid regions for turbulence injection

channel_list

ChannelList

Allows specification of channel meta data like interpolation or transformation mode

Input plugs

Type

Description

density

Emitter (array, optional)

An emitter for the density channel.

velocity

Emitter (array, optional)

An emitter for the velocity channel.

colliders

Collider (array, optional)

The collision objects for the simulation.

Output plugs

Type

Description

element

DenseVolumeChannelSet

The ChannelSet containing the simulated fields.

SparseSmokeElement

A simulation element for smoke or dust. It uses a SparseVolume to store the simulation.

Properties

Type

Default

Description

dx

Float

1.0

The size in scene units of the smallest feature that can be present in the simulation

initial_state_cachefile

String

None

Specify a filepath to a .vdb file that will be used to populate the initial state of the fluid channels, when the element is reset.

automatic_grid_padding

Bool

True

Enables a method that attempts to automatically find the optimal active space for the simulation

automatic_grid_padding_aggressiveness

Float

0.0

Controls how aggressively new space is added to the active set

automatic_grid_padding_max_padding

Int

16

This is a limit to the maximum distance in voxels that the active set is allowed to be expanded by the auto padding heuristic

use_grid_padding

Bool

True

Enables padding the active space based on smoke density

grid_padding_amount

Int

5

The number of voxel layers with which the active space is padded

grid_padding_density_threshold

Float

0.0

The lower density threshold that define the region of interest which is the base for the active space

quality_mode

Bool

False

Emphasize simulation quality over speed

buoyancy_dir

V3f

[0.0, 1.0, 0.0]

The direction of the buoyancy force

kinematic_viscosity

Float

0.0

The kinematic viscosity of the fluid. Unit is m2/s

num_pressure_iterations

Int

30

The maximum number of computation cycles allowed to compute the pressure channel of the fluid

num_viscosity_iterations

Int

30

The maximum number of computation cycles allowed to solve for viscosity

pressure_error_tolerance

Float

0.0

The pressure error tolerance in terms of amount of fluid compressibility

viscosity_error_tolerance

Float

0.0

The viscosity error tolerance

use_multigrid_acceleration

Bool

True

Enable a method that greatly increases the quality of the pressure channe. Keep enabled unless you experience artifacts or stability issues

cfl_min_steps

Int

1

The minimum number of simulation steps per frame

cfl_max_steps

Int

1

The maximum number of simulation steps per frame

dt_scale

Float

1.0

Time scaling constant. 2.0 means time flows 2x faster than normal

dens_dissipation

Float

0.0

The rate by which smoke dissipates

dens_dissipation_low_thresh

Float

0.0

Smoke density threshold below which dissipation increases rapidly

dens_dissipation_low_rate_gain

Float

4.0

Multiplier on the rate of non-linear dissipation below the threshold density

use_vorticity_confinement

Bool

True

Enable a method that adds energy to vortices in the simulation

vorticity_confinement

Float

2.0

Determines the amount of energy added to the vortices

vorticity_confinement_adaptive

Bool

True

Enables a method that only injects energy into relevant regions of the simulation

vorticity_confinement_scale_energy_falloff_power

Float

1.0

Controls the distribution of the size of the features targeted by the adaptivity method. Higher values more strongly emphasises high frequencies

vorticity_confinement_adaptive_tolerance

Float

0.3

Threshold determining how aggressively the adaptivity oracle selects valid regions for energy injection

use_wavelet_turbulence

Bool

True

Enables an algorithm that synthesizes additional turbulence adding visual complexity to the simulation

wavelet_turbulence_strength

Float

30.0

Controls the magnitude of the synthesized turbulence

wavelet_turbulence_scale_energy_falloff_power

Float

3.0

Controls the distribution of the size of the features targeted by the adaptivity method. Higher values more strongly emphasises high frequencies

wavelet_turbulence_adaptive_tolerance

Float

0.1

Threshold determining how aggressively the turbulence adaptivity oracle selects valid regions for turbulence injection

channel_list

ChannelList

Allows specification of channel meta data like interpolation or transformation mode

Input plugs

Type

Description

density

Emitter (array, optional)

An emitter for the density channel.

velocity

Emitter (array, optional)

An emitter for the velocity channel.

colliders

Collider (array, optional)

The collision objects for the simulation.

bounds

Box3f (optional)

Bounding box that constrains the expansion of the simulation.

Output plugs

Type

Description

element

SparseVolumeChannelSet

The ChannelSet containing the simulated fields.

Rendering nodes

Render

Performs a render and returns the resulting image.

Properties

Type

Default

Description

width

Int

640

Width of the rendered image in pixels.

height

Int

480

Height of the rendered image in pixels.

Input plugs

Type

Description

render_data

RenderData

The data describing the render.

Output plugs

Type

Description

image

Image

The rendered image.

image_generator

ImageGenerator

An ImageGenerator for the rendered image.

RenderData

Combines all the data needed for a render.

Properties

Type

Default

Description

max_progressions

Int

200

The maximum number of samples to use for each pixel

error_bound

Float

0.0

The allowed error in the color value of each pixel. Once the pixel color has been determined to within this accuracy, no further samples will be taken by this pixel.

multiple_scattering

Bool

False

Enables multiple scattering calculations by casting secondary rays

enable_motion_blur

Bool

False

Enables rendering of motion blur

shutter_mode

String

“Forward”

The shutter mode for motion blur calculations. See Camera shutter modes for the available modes.

shutter_angle

Float

180.0

The shutter angle controls the amount of motion blur, measured in degrees

deep_sample_scale

Float

4.0

Scale for the size the deep sample depths, measured as a multiple of the voxel size

max_deep_samples_per_pixel

Int

128

Maximum number of deep samples that can be created for each pixel

camera_projection

String

“Perspective”

The type of camera projection to use for the render. See Camera projection types for the available types.

window_translate

V2f

[0.0, 0.0]

The rendering window translation, in space where window extends from (-1,-1) to (1,1), this affects only the rendered image and not the actual camera.

window_scale

V2f

[1.0, 1.0]

The rendering window scale transformation, this affects only the rendered image and not the actual camera.

window_roll

Float

0.0

The rendering window roll rotation, in radians, this affects only the rendered image and not the actual camera.

custom_volume_settings

Bool

False

Specify render settings manually instead of automatically selecting them by analyzing the volume

volume_integrator_type

String

“Raymarching”

The type of integrator to use for primary rays. See Integrator types for the available types.

volume_transmittance_integrator_type

String

“Raymarching”

The type of integrator to use for primary transmittance rays. See Transmittance integrator types for the available types.

volume_secondary_integrator_type

String

“Raymarching”

The type of integrator to use for secondary rays. See Integrator types for the available types.

volume_secondary_transmittance_integrator_type

String

“Raymarching”

The type of integrator to use for secondary transmittance rays. See Transmittance integrator types for the available types.

volume_monochrome_extinction

Bool

False

Indicates that the volume only contains monochrome extinction. If this is set incorrectly, the rendered result will be incorrect.

volume_enable_supervoxels

Bool

False

Enables supervoxels to potentially speed up rendering

volume_equiangular_sampling

Bool

False

Enables equi-angular sampling in the integrators. See Equi-angular sampling.

volume_thin_media_sampling

Bool

False

Enables thin media sampling for the tracking integrator. See ThinMediaLabel.

volume_raymarch_step_scale

Float

1.0

Scale which increases the step size used by the raymarching integrators. Increasing the step size will be faster, but results will not be accurate.

volume_raymarch_transmittance_step_scale

Float

1.0

Scale which increases the step size used by the raymarching transmittance integrators. Increasing the step size will be faster, but results will not be accurate.

Input plugs

Type

Description

scene

RenderScene

The scene to be rendered.

camera

Camera

The camera to use for rendering the scene.

Output plugs

Type

Description

render_data

RenderData

The data describing the render. This can be passed to the Render node, or to an API function to manually control the progress of the render.

RenderScene

Describes a scene to be rendered.

Properties

Type

Default

Description

ambient_light

V3f

[0.0, 0.0, 0.0]

The ambient light for the scene. This is equivalent to an environment light with a constant value, so still requires shadow rays.

background_colour

V3f

[0.0, 0.0, 0.0]

The color returned by rays which do not hit any objects in the scene.

Input plugs

Type

Description

render_volume

RenderVolume (optional)

A volume to be rendered.

point_lights

PointLight (array, optional)

The point lights to use in the scene.

spot_lights

SpotLight (array, optional)

The spotlights to use in the scene.

quad_area_lights

QuadAreaLight (array, optional)

The quad area lights to use in the scene.

directional_lights

DirectionalLight (array, optional)

The directional lights to use in the scene.

environment_lights

EnvironmentLight (array, optional)

The environment lights to use in the scene.

holdouts

Holdout (array, optional)

The holdout objects to render.

Output plugs

Type

Description

scene

RenderScene

The scene data, can be passed to the RenderData node.

Holdout

A holdout object which can be placed in the RenderScene and will block rays. Can be either a mesh or a signed-distance field.

Properties

Type

Default

Description

primary_visible

Bool

True

Controls if the holdout will be hit by primary (camera) rays

mesh

CompoundMesh

A mesh to use as a holdout object.

Input plugs

Type

Description

field

Field (Scalar, optional)

A signed-distance field to use as a holdout object.

Output plugs

Type

Description

holdout

Holdout

The holdout data, can be passed to the RenderScene node.

DirectionalLight

Creates a directional light for a RenderScene.

Properties

Type

Default

Description

direction

V3f

[1.0, 0.0, 0.0]

Direction from which the light is coming.

intensity

V3f

[1.0, 1.0, 1.0]

Intensity of the light.

light_groups

Int

0

Flags indicating to which groups this light belongs.

Output plugs

Type

Description

light

DirectionalLight

The light data, can be passed to the RenderScene node.

EnvironmentLight

Creates an environment light for a RenderScene, based on an environment map image.

Properties

Type

Default

Description

image

Image

The environment map image.

transform

M44f

Identity

Transform to apply to the environment map.

intensity

V3f

[1.0, 1.0, 1.0]

Intensity of the light. This will scale the values in the environment map image.

light_groups

Int

0

Flags indicating to which groups this light belongs.

Output plugs

Type

Description

light

EnvironmentLight

The light data, can be passed to the RenderScene node.

PointLight

Creates a point light for a RenderScene.

Properties

Type

Default

Description

transform

M44f

Identity

Transform of the light in world space.

intensity

V3f

[1.0, 1.0, 1.0]

Intensity of the light.

falloff

String

“None”

Fall-off behavior of the light. See Light falloff modes for the available modes.

light_groups

Int

0

Flags indicating to which groups this light belongs.

Output plugs

Type

Description

light

PointLight

The light data, can be passed to the RenderScene node.

QuadAreaLight

Creates a quadrilateral area light for a RenderScene.

Properties

Type

Default

Description

transform

M44f

Identity

Transform of the light in world space.

intensity

V3f

[1.0, 1.0, 1.0]

Intensity of the light.

falloff

String

“None”

Fall-off behavior of the light. See Light falloff modes for the available modes.

light_groups

Int

0

Flags indicating to which groups this light belongs.

Output plugs

Type

Description

light

QuadAreaLight

The light data, can be passed to the RenderScene node.

SpotLight

Creates a spotlight for a RenderScene.

Properties

Type

Default

Description

transform

M44f

Identity

Transform of the light in world space.

intensity

V3f

[1.0, 1.0, 1.0]

Intensity of the light.

inner_falloff

Float

90.0

The inner angle of the spotlight falloff cone, in degrees.

outer_falloff

Float

90.0

The outer angle of the spotlight falloff cone, in degrees.

falloff

String

“None”

Fall-off behavior of the light. See Light falloff modes for the available modes.

light_groups

Int

0

Flags indicating to which groups this light belongs.

Output plugs

Type

Description

light

SpotLight

The light data, can be passed to the RenderScene node.

Denoiser

Denoises an image.

Properties

Type

Default

Description

hdr

Bool

True

Specifies if the input image is high dynamic range.

Input plugs

Type

Description

image

Image

The source image to be denoised.

Output plugs

Type

Description

image

Image

The resulting denoised image.

Render Volume nodes

FireRenderVolume

Creates a renderable volume based on input fields, using a black body spectrum for emission based on a temperature field. The absorption and scattering coefficients are specified directly.

Properties

Type

Default

Description

absorption_coefficient

Float

1.0

The absorption coefficient controls how much light is absorbed without being scattered per unit of distance

absorption_colour

Color3f

[1.0, 1.0, 1.0]

Color multiplier for the absorption coefficient, allowing absorption to be different for each color channel

scattering_coefficient

Float

1.0

The scattering coefficient controls how much light is scattered, for both in-scattering and out-scattering, per unit of distance

scattering_colour

Color3f

[1.0, 1.0, 1.0]

Color multiplier for the scattering coefficient, allowing scattering to be different for each color channel

emission_coefficient

Float

1.0

Scale applied to the emission values generated by the black body settings

emission_exposure

Float

20.0

An exposure type scale applied to the emission values generated by the black body settings

temperature_coefficient

Float

1.0

Scale applied to the input temperature field before converting temperature to emission using the black body model

black_body_white_balance

Float

2700.0

Specifies the temerature value which will map to a white emission color

color_space

String

“sRGB”

Specifies the color space in which the black body emission should be produced

black_body_min_temperature

Float

200.0

Specifies the minimum temperature for which to calculate a black body emission color. Temperatures below this will be clamped to this value.

black_body_max_temperature

Float

5000.0

Specifies the maximum temperature for which to calcualte a black body emission color. Temperatures above this will be clamped to this value.

phase_function_type

String

“isotropic”

The type of phase function to use for scattering in the volume

phase_function_parameter

Float

0.2

Controls the amount and direction of scattering by the phase function. Must be between -1 and 1. Positive values are forward scattering, negative values are backward scattering.

min_feature_size

Float

0.0

Optionally specifies the feature size for implicit volumes, to allow raymarching integrators to be used. Use with care, it can always be left at zero to avoid any issues.

black_body_num_samples

Int

1024

Input plugs

Type

Description

density

Field (Scalar, optional)

A field specifying the density of the smoke.

velocity

Field (Vector, optional)

A field for the fluid velocity.

temperature

Field (Scalar, optional)

A field specifying the temperature of the fire.

holdout

Field (Vector, optional)

A field describing an extinction based holdout.

channel_set

ChannelSet (optional)

A ChannelSet containing the fields, which will be used if the corresponding field plug is not connected.

Output plugs

Type

Description

render_volume

RenderVolume

The renderable volume, can be passed to RenderScene.

FireAlbedoRenderVolume

Creates a renderable volume based on input fields, using a black body spectrum for emission based on a temperature field. The albedo is used to describe the absorption and scattering.

Properties

Type

Default

Description

scattering_albedo

Float

0.7

The scattering albedo determines how much of the extinction is due to scattering or absorption. A value of 0.0 is fully absorbing, a value of 1.0 is fully scattering.

extinction_coefficient

Float

1.0

The extinction coefficient controls how much light is absorbed or scattered per unit of distance

scattering_colour

Color3f

[1.0, 1.0, 1.0]

Color multiplier for the scattering coefficient, allowing scattering to be different for each color channel

extinction_colour

Color3f

[1.0, 1.0, 1.0]

Color multiplier for the extinction coefficient, allowing extinction to be different for each color channel

emission_coefficient

Float

1.0

Scale applied to the emission values generated by the black body settings

emission_exposure

Float

20.0

An exposure type scale applied to the emission values generated by the black body settings

temperature_coefficient

Float

1.0

Scale applied to the input temperature field before converting temperature to emission using the black body model

black_body_white_balance

Float

2700.0

Specifies the temerature value which will map to a white emission color

color_space

String

“sRGB”

Specifies the color space in which the black body emission should be produced

black_body_min_temperature

Float

200.0

Specifies the minimum temperature for which to calculate a black body emission color. Temperatures below this will be clamped to this value.

black_body_max_temperature

Float

5000.0

Specifies the maximum temperature for which to calcualte a black body emission color. Temperatures above this will be clamped to this value.

phase_function_type

String

“isotropic”

The type of phase function to use for scattering in the volume

phase_function_parameter

Float

0.2

Controls the amount and direction of scattering by the phase function. Must be between -1 and 1. Positive values are forward scattering, negative values are backward scattering.

min_feature_size

Float

0.0

Optionally specifies the feature size for implicit volumes, to allow raymarching integrators to be used. Use with care, it can always be left at zero to avoid any issues.

black_body_num_samples

Int

1024

Input plugs

Type

Description

density

Field (Scalar, optional)

A field specifying the density of the smoke.

velocity

Field (Vector, optional)

A field for the fluid velocity.

temperature

Field (Scalar, optional)

A field specifying the temperature of the fire.

holdout

Field (Vector, optional)

A field describing an extinction based holdout.

channel_set

ChannelSet (optional)

A ChannelSet containing the fields, which will be used if the corresponding field plug is not connected.

Output plugs

Type

Description

render_volume

RenderVolume

The renderable volume, can be passed to RenderScene.

SmokeRenderVolume

Creates a renderable volume based on input fields. The absorption and scattering coefficients are specified directly.

Properties

Type

Default

Description

absorption_coefficient

Float

1.0

The absorption coefficient controls how much light is absorbed without being scattered per unit of distance

absorption_colour

Color3f

[1.0, 1.0, 1.0]

Color multiplier for the absorption coefficient, allowing absorption to be different for each color channel

scattering_coefficient

Float

1.0

The scattering coefficient controls how much light is scattered, for both in-scattering and out-scattering, per unit of distance

scattering_colour

Color3f

[1.0, 1.0, 1.0]

Color multiplier for the scattering coefficient, allowing scattering to be different for each color channel

phase_function_type

String

“isotropic”

The type of phase function to use for scattering in the volume

phase_function_parameter

Float

0.2

Controls the amount and direction of scattering by the phase function. Must be between -1 and 1. Positive values are forward scattering, negative values are backward scattering.

min_feature_size

Float

0.0

Optionally specifies the feature size for implicit volumes, to allow raymarching integrators to be used. Use with care, it can always be left at zero to avoid any issues.

Input plugs

Type

Description

density

Field (Scalar, optional)

A field specifying the density of the smoke.

velocity

Field (Vector, optional)

A field for the fluid velocity.

emission

Field (Vector, optional)

A field specifying the emission directly.

holdout

Field (Vector, optional)

A field describing an extinction based holdout.

channel_set

ChannelSet (optional)

A ChannelSet containing the fields, which will be used if the corresponding field plug is not connected.

Output plugs

Type

Description

render_volume

RenderVolume

The renderable volume, can be passed to RenderScene.

SmokeAlbedoRenderVolume

Creates a renderable volume based on input fields. The albedo is used to describe the absorption and scattering.

Properties

Type

Default

Description

scattering_albedo

Float

0.7

The scattering albedo determines how much of the extinction is due to scattering or absorption. A value of 0.0 is fully absorbing, a value of 1.0 is fully scattering.

extinction_coefficient

Float

1.0

The extinction coefficient controls how much light is absorbed or scattered per unit of distance

scattering_colour

Color3f

[1.0, 1.0, 1.0]

Color multiplier for the scattering coefficient, allowing scattering to be different for each color channel

extinction_colour

Color3f

[1.0, 1.0, 1.0]

Color multiplier for the extinction coefficient, allowing extinction to be different for each color channel

phase_function_type

String

“isotropic”

The type of phase function to use for scattering in the volume

phase_function_parameter

Float

0.2

Controls the amount and direction of scattering by the phase function. Must be between -1 and 1. Positive values are forward scattering, negative values are backward scattering.

min_feature_size

Float

0.0

Optionally specifies the feature size for implicit volumes, to allow raymarching integrators to be used. Use with care, it can always be left at zero to avoid any issues.

Input plugs

Type

Description

density

Field (Scalar, optional)

A field specifying the density of the smoke.

velocity

Field (Vector, optional)

A field for the fluid velocity.

emission

Field (Vector, optional)

A field specifying the emission directly.

holdout

Field (Vector, optional)

A field describing an extinction based holdout.

channel_set

ChannelSet (optional)

A ChannelSet containing the fields, which will be used if the corresponding field plug is not connected.

Output plugs

Type

Description

render_volume

RenderVolume

The renderable volume, can be passed to RenderScene.

ExpressionRenderVolume

Creates a renderable volume using an expression script to provide the data needed for rendering.

Properties

Type

Default

Description

language

String

“Python”

The language to use for the shader expression

expression_python

String

Python script for the shader expression

expression_cpp

String

C++ script for the shader expression

phase_function_type

String

“isotropic”

The type of phase function to use for scattering in the volume

phase_function_parameter

Float

0.2

Controls the amount and direction of scattering by the phase function. Must be between -1 and 1. Positive values are forward scattering, negative values are backward scattering.

min_feature_size

Float

0.0

Optionally specifies the feature size for implicit volumes, to allow raymarching integrators to be used. Use with care, it can always be left at zero to avoid any issues.

bounds_field

String

Name of the field from which to take the volume bounds. Not used if explicit bounds are provided

Input plugs

Type

Description

bounds

Box3f (optional)

Directly specifies the bounds of the volume.

Output plugs

Type

Description

render_volume

RenderVolume

The renderable volume, can be passed to RenderScene.