|On this page|
The Volume Velocity operator adds a procedural velocity field to the input volumes. Three volumes together define a velocity field, one for each of the x, y, and z components. The Volume SOP can be used to create three properly named volumes using the Vector option.
The volume primitives to add a velocity field to.
Points to sample velocity values from.
The velocity will be zeroed out outside this masked area.
The volumes to add to. The first three are the x, y, and z components respectively for adding velocity values to.
Add Uniform Velocity
Controls whether a constant velocity will be added or not.
A uniform velocity added everywhere in the velocity field.
A vortex field is a velocity field that spins around an axis, like a spinning tornado.
The origin of the spinning vortex.
The axis around which the velocity field will spin.
How fast the velocity field spins. This is how fast the velocity field will be one unit away from the center.
Instead of having the vortex affect the entire space, it can be constrained to only operate in a tube around the axis. This is the radius of that tube.
To avoid a sudden change in velocity at the edge of the vortex, this ramp describes a speed multiplier of the vortex from the center to the edge of the vortex.
Add Curl Noise
Curl noise is a special type of noise that describes a velocity field that doesn’t contract or expand. Particles that move through it will keep a uniform density.
Strength of the noise field.
The size of the biggest swirls induced by the noise.
The relative strength of each successively smaller band of swirls.
A noise offset, useful for seeding different noises.
The strength of each band is raised to this power, resulting in a contrast like effect within that band.
The number of octaves of swirls to add up. Note that adding swirls that are smaller than your voxel size will no longer have a meaningful effect. Swirl Size / (2^turbulence) should be twice the voxel size. Adding more layers of turbulence increases computation cost while just adding white noise to the field.
Controls if the velocity is animated over time.
In this length of time, measured in seconds, the noise will transition into an entirely new arrangement.
A start frame offset to the time, measured in frames.
Add Point Velocity
Adds point velocity by extrapolating the velocity attribute of the second input’s points.
The subset of points to use as an extrapolation source.
Which attribute to copy into the volumes. Should be a three float attribute representing velocities.
The extrapolated velocity will be multiplied by this scale, making it easy to provide an overall boost to the source velocity.
How far away from the points to still apply their velocity values. This is a distance measure.
Add Object Motion
This adds in the frame-to-frame motion of an Object node to the velocity field. This is useful for inheriting the motion of things animated at the object level.
SOP transforms are not included in this. The Extract Transform Object can be used to bring SOP transforms (such as from a disk sequence) into the object level.
The object node to extract a transform from.
The object’s velocity can be boosted by this constant scale.
When to sample the object’s position. This is the center of the sample time.
What time interval to extract the objects transform over. This is the
total interval. So the object will be evaluated at
Frame - (Frame Sample)/2 and at
Frame + (Frame Sample)/2,
and these two transforms compared to derive the velocity of the
The third input’s volume can be used to zero out parts of the velocity field. Doing so allows empty areas to be compressed as constant tiles, reducing memory usage and disk space of the resulting fields.
The volume to use for masking.
A dilation of the volume, through a maximum function, is performed for this distance. This is a distance measure.
Voxels that are kept will be those that match this comparison operation.
The value that mask values are compared against to see if they area kept.