|On this page|
The Attribute Noise SOP provides a simple interface for quickly adding coherent noise
vector attributes, without needing to create VOP networks or write VEX code. All of the models provided by the Unified Noise VOP can be
used with this node.
Tips and notes
If an attribute exists, you can overwrite or combine the noise with the current values according to the Operation parameter. If an attribute doesn’t exist, this node will create it.
The subset of the input geometry to apply the modifications to. Leave this blank to affect all elements. The type of the group is controlled by the Attribute Class parameter.
Choose whether the attributes are float attributes or vector attributes. The node will switch to generate 1D or 3D noise according to this choice.
The name of the attribute to generate noise into. The class of attribute (such as point, face, or vertex) is controlled by the Attribute Class parameter. If the attribute does not exist, this node will create it. You can specify a space-separated list of names to add noise to multiple attributes at once.
The level at which to look for/create the listed attributes: detail (whole geometry), primitives (faces), points, or vertices.
How to compute the minimum and maximum noise values. This menu lets you quickly set up common ranges (from zero to N, or from -N to N).
From 0 to the Amplitude value.
From negative Amplitude to positive Amplitude.
Explicitly set Min Value and Max Value.
How to combine the generated noise with an existing attribute value. If the target attribute does not exist on the input geometry, this menu is ignored.
If the attribute doesn’t exist, set its value. If the attribute does already exist, don’t modify it.
Overwrite any existing value.
Add the generated noise value to the existing value.
Subtract the generated noise value from the existing value.
Multiply the generated noise value by the existing value.
Use the lower of the generated noise value and the existing value.
Use the higher of the generated noise value and the existing value.
When Range Positive Values, the generated noise is from 0 to this value. When Range is Zero Centered Values, the generated noise is from negative this value to positive this value.
When Attribute Type is Vector, click the Per Component button for separate amplitudes along each axis.
When Attribute Type is Vector and you turn on the Per Component button, this lets you scale the Amplitude separately across each axis.
When Range Values is Min/Max, the lower limit of the range.
When Attribute Type is Vector, click the Per Component button for separate minimums along each axis.
Min Value Scale
When Attribute Type is Vector, Range Values is Min/Max, and you turn on the Per Component button, this lets you scale the Min Value separately across each axis.
When Range Values is Min/Max, the higher limit of the range.
When Attribute Type is Vector, click the Per Component button for separate minimums along each axis.
Max Value Scale
When Attribute Type is Vector, Range Values is Min/Max, and you turn on the Per Component button, this lets you scale the Max Value separately across each axis.
Output Raw Value
When this is on, the distribution of values is non-uniform, being more likely to fall near the center of the range than the edges. When this is off, values have a more uniform distribution across the range.
This example shows noise where the Element Size is animated. The left side has this parameter on, the right side has this parameter off.
Enable Remap Ramp
Turn this on to shape the output of the noise with a ramp.
When Enable Remap Ramp is on, this ramp lets you control the output of the noise function. The horizontal axis represents the range (minimum on the left, maximum on the right). The vertical axis represents the number to output when the noise function generates that point within the range.
The default ramp (diagonal from bottom-left to top-right) outputs each number "as itself".
The type of noise to generate. Different algorithms give noise with different characteristics.
Value noise types
The default. A faster and more interesting variant of Perlin noise.
Sparse Convolution noise is similar to Worley noise. Does not have artifacts at grid points.
Produces a bumpy output. Named for its alleged resemblance to alligator skin.
Perlin noise types
A noise where the visual details are the same size. Wikipedia article
A noise that’s stable over time, like a rotated Perlin noise, useful to create noise that seems to swirl and flow smoothly across time. Use the Flow rotation parameter below to control the rotation.
Worley/Cellular noise types
Produces cellular features similar to plant cells, ocean waves, honeycombs, cratered landscapes, and so on. Wikipedia article
A variant of Worley noise that produces blunted and cornered features.
A variant of Worley F1 noise that uses Manhattan distance calculation. Useful when you want unusual-looking noise.
A variant of Worley F2-F1 noise that uses Manhattan distance calculation. Useful when you want unusual-looking noise.
A variant of Worley F1 noise that uses Chebyshev distance calculation. Useful when you want unusual-looking noise.
A variant of Worley F2-F1 noise that uses Chebyshev distance calculation. Useful when you want unusual-looking noise.
The node generates values for each element by sampling a noise field at the location specified by this vector attribute on the incoming geometry. If this is
P (point position, the default), the points of the geometry will appear to swim through the noise. If you want the noise to "stick" to the points, you can copy the initial point positions into a
rest attribute and use that attribute here instead.
Uniform scale of elements in the noise.
Click the Per Component button for separate scales along each axis.
When you turn on the Per Component button, this lets you scale the Element Size separately across each axis.
Offset within the evaluated noise field (added to each axis). If you have the general noise effect you want, but want to get a different set of values for a different look, try changing the offset.
You can animate the noise using an expression such as
$T * 0.25 here. This is faster to compute than Animate Noise, but gives the visual effect of "panning" across the noise field, which may or may not be acceptable.
Click the Per Component button for separate additional offsets along each axis.
When you turn on the Per Component button, this lets you add the a separate offset along each axis.
Turn this checkbox on to use a VEXpression to override parameters based on abitrary attribute values.
A VEX expression that can override noise parameters based on arbitrary attributes on the geometry. The comments in the default snippet (and the "Pass Through" preset in the menu to the right of the editor) show which parameters you can override, currenly
For instance, you can use
pos += v@noise_offset; to offset the sampling
location by the value of each element’s
noise_offset vector attribute. As
another example, using
pos = v@noise_offset; will overwrite the incoming
value with the
noise_offset attribute: this is effectively the same as
noise_offset as the Location Attribute.
Vary the generated noise with time. Some noise types do not support this feature.
Applying animation this way on geometries with millions of element count is slower to compute than using expressions such as
$T * 0.25 in the Offset parameter to "pan" across the noise field.
When Animated Noise is on, this controls the rate of change of the noise pattern.
The fractal controls let you add additional fractal noise on top of the output of the basic noise type.
Does not add any additional noise on top of the basic noise.
Adds pseudo-random noise on top of the basic output.
Adds noise like "Standard" but dampens the noise in the valleys, which can be useful for generating mountainous terrain.
Like terrain, but with more sharpness in the valleys.
The following parameters are available when Fractal type is anything except None.
The number of iterations of distortion to add to the output of the basic noise. The more iterations you add, the more "detailed" the output. Note that the output may have fewer octaves than this parameter (that is, increasing the parameter will eventually stop adding detail), because the node eventually stops when there’s no more room to add more detail in the output.
The frequency increment between iterations of fractal noise added to the basic output. Note that you can use a negative value.
The scale increment between iterations of fractal noise added to the basic output. The higher the value the larger the "jaggies" added to the output. You can use a negative value for roughness.
Lattice Warp and Gradient Warp are two methods for adding "fractal-ness" to the basic noises by warping the noise space.
Adds "stringiness" or "wiriness" to standard noise.
Lattice Warp Size
Controls base feature size of the generated noise. The value applies to each axis.
Widens the peaks or valleys of the noise output.
Accumulate Lattice Warp
Accumulates the warp for each iteration (octave) of added fractal noise. This can add interesting smudgy effects when used in images, and interesting landmarks when used for terrain.
Accumulate Gradient Warp
Accumulates the warp for each iteration (octave) of added fractal noise.
When Noise type is "Flow", this controls the rotation of the "swirl", from
1. Because this parameter is fractional, you can’t just use
$F to animate it, since all integral values will look the same, representing a complete revolution. Instead, try something like
$FF / 100.
Clamp the lower end of the generated noise values.
When the checkbox is on, clamp values so they are never less than this value, after noise is applied. For vector attributes, the node applies this minimum to all components.
Clamp the higher end of the generated noise values.
When the checkbox is on, clamp values so they are never greater than this value, after noise is applied. For vector attributes, the node applies this maximum to all components.
Make Vectors Unit Length
When the Attribute Type is Vector, turn this on to normalize the output values so they all have the same length (