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