Houdini 21.0 Nodes Copernicus nodes

Pyro Disturbance Copernicus node

Applies disturbance to a velocity VDB to break up still air.

On this page
Since 21.0

The Pyro Disturbance operator applies noisy forces to the velocity field, mimicking the effects of localized environmental change. This localized change in momentum cancels itself out over time, preserving the simulation’s general motion and overall shape. It is effective at introducing small-scale details to the simulation and breaking up otherwise still air.

Pyro Disturbance COP has two methods for generating the noise: Continuous and Block-Based.

In both modes, the disturbance force adjusts the magnitude of the applied force in an effort to keep the effect similar at different resolutions. In Continuous mode, Strength controls the expected variance of the integrated force over a region of size Reference Scale. The number of composited layers in Block-Based mode depends on block sizes and the voxel size (since blocks smaller than a single voxel cannot be represented). However, the DOP compensates for any truncation (when the actual number of layers is less than value of Max Octaves).

There are additionally two ways to apply the generated random force. By default, the force is exerted linearly: the disturbance is simply added to the Disturb Field. When Rotational Force is turned on, values in Disturb Field are instead rotated towards the randomly-generated vectors, without change of length. When applied to a velocity field, this corresponds to redirecting the momentum while maintaining the kinetic energy. Rotational application of disturbance is especially useful in fire simulations, where it can be used to add character to the flames.

Tip

Using density as the threshold input will allow disturbance to be limited to empty places of the simulation. This ensures smoke moves into more turbulent air without affecting the visible smoke.

Parameters

Signature

The VDB type that the source accepts.

See Signatures for more information.

Force

Operation

Set

The velocities are replaced by the disturbance values. This is useful for visualizing the effect, or controlling more precisely how it is applied.

Add

The disturbance is added to the incoming velocity.

Rotate

The values in the incoming velocity are rotated towards the randomly-generated directions without changing their length.

Mode

Controls the nature of the generated random vectors.

Continuous

Every voxel gets an independently-assigned random vector.

Block-Based

The random pattern is formed by composing several layers of blockwise-constant noise.

Disturbance

Controls strength of the applied force.

Note

When Rotate is used, Strength governs how fast the vectors are rotated towards their goal.

Reference Scale

Variance of the aggregated noise field over a region of this size will be equal to Strength when Mode is set to Continuous. Provides a scale for normalizing the force against voxel size. A larger value for this parameter will increase magnitude of the applied force.

Tip

You should set this parameter to a reasonable value for your scene scale and leave it there. Strength can be used to more finely control how much force is applied.

Block Size

Controls size of the biggest blocks in the generated noise pattern when Mode is set to Block-Based.

Pulse Length

Length of time (in seconds) that the noise pattern is held fixed. This only applies when Mode is set to Block-Based.

Note

The noise pattern changes on every frame in Continuous mode.

Fractal

Max Octaves

The maximum number of noise levels to compose in Block-Based mode.

Lacunarity

The ratio of block sizes between successive noise layers. For example, a value of 2 means that the first layer has blocks that are twice the size of the second layer; the second layer will in turn have blocks that are twice as large as the next layer. This parameter is only applicable in Block-Based mode.

Roughness

The ratio of amplitudes between successive noise layers. For example a value of 0.5 means that the second layer will have half the amplitude of the first one. This parameter is only applicable in Block-Based mode.

Tip

Lower Roughness values will better preserve the block structure in the generated noise, whereas higher ones (nearing or exceeding 1) will yield more chaotic patterns resembling white noise.

Mask by Threshold Field

Mask out the effect of the force by the threshold field. Threshold fields are intended to provide harsh on/off effects, but the range can be used to soften the transition.

Mask by Control Field

Mask out the effect of the force by the control field. Control fields are usually used the same way as masks, so represent a smooth engagement of the effect.

Mask along Axis

It is common for effects to be scaled along one particular axis. Rather than requiring the construction of VDBs to represent this; this allows the direct specification of the world space range over which the effect is to be scaled.

Inputs

v

A Vector VDB of the incoming velocities.

threshold

A Float or Vector VDB to use as a threshold field. If it is a Vector VDB, its length is used.

control

A Float or Vector VDB to use as a control field. If it is a Vector VDB, its length is used.

Outputs

v

A Vector VDB of the disturbed velocities.

See also

Copernicus nodes