Houdini 20.0 Nodes Geometry nodes

Point Velocity geometry node

Computes and manipulates velocities for points of a geometry.

On this page
Since 17.0

The Point Velocity SOP provides a simple interface to compute and manipulate the velocity attribute, v, of a geometry’s points. The node includes functionality to robustly compute velocity from time-dependent deformation of the incoming geometry, as well as several ways to generate and composite noise on top of it.

Note

The order of tabs corresponds to the order in which their corresponding operations are performed (from left to right). When enabled, Add Velocity modifier is applied last.

Inputs

Input

Geometry whose point velocities to manipulate.

Outputs

Output

Modified geometry.

Parameters

Group

Only points in this group will be affected by this node.

Add Velocity

When enabled, this vector is added to every point’s velocity.

Basic

Initialization

Controls how the velocity point attribute is initialized.

Compute from Deformation

Point velocities are deduced from their time-dependent motion.

Keep Incoming

The incoming point velocities are kept; if the input geometry does not contain a velocity point attribute, it is created and initialized to zero.

Set Value

The given Default Value is written to each point’s v attribute.

From Attribute

Velocities are initialized using the value of the given point attribute.

Default Value

Velocities get set to this value; only available when Initialization mode is Set Value.

Frame Sample

Frame offset used for computing point velocities from deformation.

Note

If Velocity Approximation is set to Central Difference, the geometries used are offset forward and backward by Frame Sample.

Evaluate Within Frame Range

Enabling this option ensures that the geometry is not evaluated outside of the provided Frame Range.

Frame Range

When Evaluate Within Frame Range is enabled, the node ensures that the input geometry is not evaluated outside of this range.

Velocity Approximation

Finite difference method to use for computing velocities from deformation.

Backward Difference

Approximates velocity by considering the difference in particle positions from the current frame and the frame offset backward by Frame Sample.

Central Difference

Approximates velocity by considering the difference in particle positions from the current frame offset forward and backward by Frame Sample.

Forward Difference

Approximates velocity by considering the difference in particle positions from the current frame offset forward by Frame Sample and the current frame itself.

Note

If Evaluate Within Frame Range is enabled and one of the frame samples lies outside the specified Frame Range, this node will try to use an alternate approximation scheme.

Compute Acceleration

When this option is enabled, this node will also approximate point accelerations. This is useful for rendering curved trajectories with acceleration motion blur.

Note

The calculated accelerations will only be non-zero if Velocity Approximation is set to Central Difference.

Acceleration Attribute

The computed acceleration will be stored in this point attribute.

Compute Angular Velocity

Enabling this option will use the difference in orientations to compute the angular velocity (stored in the w point attribute).

Match by Attribute

When this option is enabled, points on successive frames will be identified by using the value of the provided attribute rather than the point number.

Attribute to Match

Name of the integer or string point attribute to use for matching successive frames (when Match by Attribute is enabled).

Attribute Name

Name of the point attribute to use for initializing velocities. Only available when Initialization is set to From Attribute.

Scale

Attribute corresponding to Attribute Name is multiplied by this value to get the initial point velocities.

Curl Noise

Add Curl Noise

Adds divergence-free curl noise to point velocities.

Animated

If this option is turned on, produced noise will vary with time.

Scale

Controls the amount of added curl noise.

Pulse Duration

Time rate of change of the noise pattern is inversely proportional to Pulse Duration; only available when Animated is enabled.

Swirl Size

Controls base feature size of the generated noise.

Swirl Scale

Feature size along each axis is governed by the product of Swirl Size with the applicable component of this parameter.

Offset

Offset within the evaluated noise field. Can be used as a seed to modify the noise values without affecting the overall look of the pattern.

Grain

Controls influence falloff for each successive noise layer.

Turbulence

Specifies the number of composited noise layers.

Location Attribute

Noise for each point is produced by sampling a volumetric field using the value of this vector attribute. If this parameter is set to P, the applied noise pattern will vary based on the motion of the points. If this is undesirable, a rest attribute can be added to the input geometry and its value used instead.

From Object

Add Object Motion

Adds the velocity of an animated object-level node to point velocities.

Object Path

The object node to extract a transform from.

Scale

Before being added to point velocities, the object velocity is scaled by this amount.

Frame Sample

Frame offset used for computing the object’s velocity.

Note

If Velocity Approximation is set to Central Difference, the object transforms used are offset forward and backward by Frame Sample.

Velocity Approximation

Finite difference method to use for computing the object’s velocity.

Backward Difference

Approximates velocity by considering the difference in object’s transformations from the current frame and the frame offset backward by Frame Sample.

Central Difference

Approximates velocity by considering the difference in object’s transformations from the current frame offset forward and backward by Frame Sample.

Forward Difference

Approximates velocity by considering the difference in object’s transformations from the current frame offset forward by Frame Sample and the current frame itself.

Conical Noise

Conical Noise

Modify point velocities with conical noise.

Note

Conical noise is not spatially coherent, nor does it continuously depend on the seed values.

Mode

In Add mode, each point’s velocity is offset by a random vector, which falls within the defined cone. In Rotate mode, each point’s velocity is randomly jittered within a cone of the specified size (without affecting speed).

Scale

Controls the cone height (and the amount of added conical noise) when Mode is set to Add.

Cone Angle

Controls the cone width.

Direction

The cone opens in this direction; only available when Mode is set to Add.

Direction Attribute

When enabled, value of this vector point attribute is used to control the cone orientation for each point, instead of the global Direction parameter; only available when Mode is set to Add.

Note

If the referenced point attribute does not exist or is zero, the global Direction vector is used.

Directional Bias

When enabled, the randomly generated vector is biased towards the center of the cone (for positive values) or the edge of the cone (for negative values).

Global Seed

Value of this parameter is used to seed the random number generator. The generated noise can be altered by changing the seed.

Seed Attribute

When enabled, the value of this attribute is used for seeding the random vector for each point instead of the point number; this enables consistent noise generation when deleting points.

Geometry nodes