Noise

This is a shader that evaluates a coherent noise function (potentially summed over several octaves, giving fractal noise, sometimes known as a turbulence function). The output is between 0 to 1 (actually [0,1) ), which can be used as input to several other shader nodes to produce various effects. This is useful for creating many real-world patterns (marble, granite, leather, etc.)

This shader outputs a float value and therefore may prove unpredictable when connecting it to something like a gobo filter which requires color values. A workaround is to build an RGB color from the output of the noise shader using the float_to_rgb shader.

Octaves

The number of octaves over which the noise function is calculated (the fractal noise function is repeated at multiple frequencies, known as octaves; normally each octave is at about twice the frequency, i.e., half the size, of the previous one, but you can alter this with the lacunarity control).

Distortion

Defines a degree of random displacement applied to each point as part of the noise calculation, giving a different aesthetic feel.

Lacunarity

Controls the average size of gaps in the texture pattern produced. Lacunarity means the change in scale between each octave - in musical scales this would be 2.0, meaning each octave is at twice the frequency/half the scale of the previous one, but for our purposes numbers that are near 2.0, but not actually 2.0 are best. In most cases, we recommend using the default value of 1.92.

Amplitude

Controls the amplitude, or range, of the output. Normally the output has values between 0 and 1; the amplitude control multiplies this.

Scale

Controls the scale of the noise function in x, y, and z directions.

Scaling the noise in one direction only can produce interesting results.

scale x:1, y:0.1, z:0.1

Offset

Offset the noise in x, y, or z directions.

Coord Space

Specifies the coordinate space to use. These include world, object, pref, and uv space coordinates. Pref is short for 'vertex in reference pose'. The plugin can pass these vertices to Arnold (in addition to the regular, deformed vertices) which can, in turn, be queried by the noise shader so that the noise 'sticks' to the reference pose and does not swim as the mesh deforms.

Below are animations that show pref_space coordinates in use with a deforming object. Note how the texture sticks to the object when using Pref space coordinates, compared to Object/World space coordinates where the texture swims.

P

Input coordinates of the 4D fractal noise function. The surface point is used when not defined (0). An arbitrary coordinate space can be specified manually by linking another shader into the P parameter. This is useful for all sorts of things such as being able to animate patterns flowing through objects, having patterns move along with objects, etc.

For example, a coordinate system that you're animating to move the noise field through an object (a common technique for doing water running over a surface) or a coordinate system that is defined relative to a larger object (e.g. think of a spaceship that's comprised of many smaller objects, and you want to paint noise over the whole surface).

Time

The pattern of noise smoothly varies over time.

Color1 / Color2

The output color of the noise shader in scalar mode (interpolation between the two color values by the noise function).

Mode

Defines the noise function to use (scalar or vector fractal noise). In scalar mode, the output color is computed by blending between color1 and color2, and in vector mode, a separate noise signal is generated per color channel.

Pref Name

Specify the name of the reference position user-data array. Previously, the name was hard-coded as "Pref", which is still the default. The array type can be RGB/RGBA as well as VECTOR.