🎲Noise

Generate random and turbulent motion

Noise can add randomness to object movement, rotation, or generate data to combine with other behaviors using Channel Link.

Noise has a single read-only channel which outputs the randomly generated data, either in vector or float format, depending on the output type selected.

Noise Editor

Select the object to view its settings in the Inspector.

For common features, please refer to Menu Bar and Update Settings.

Apply Mode

Use the drop-down menu to select how the random data is applied.

  • Position: Applies the generated values to the specified transform's position.

  • Rotation: Applies to the transform's rotation (Euler angles).

  • Data Only: Generates random values but does not apply it to the transform.

The transform position and rotation are only modified if the apply mode is either of those options. When generating Data Only, random values are calculated only.

Apply to Transform

The target transform which the data is applied to. The current object transform is used by default though may be assigned to any other object in the scene by dragging and dropping it from the Hierarchy view into the field.

Axis

Select whether to generate random values for all axes (XYZ), or for an individual axis.

Several of the fields below switch between single float and vector input depending on the Axis mode selected.

Input Position

Sets the initial position of the transform and also acts as the center point for the noise calculation.

Use Transform

When enabled, the current object transform is used to provide the input position. This is primarily used to add noise to an existing object animation or when applying noise to a child or other object separate from the current one.

Input Position is controlled by the transform component when Use Transform is enabled

Time Interval

Instead of generating random values each frame, noise can optionally be generated using intervals of time, interpolating between each random point. This is more noticeable when using the Random noise type but works also with Perlin noise.

Time Interval determines the frequency (in seconds) new random numbers are generated over time. Use the +/- value to vary the time interval further. The interpolation mode drop-down selects the type of interpolation to apply between time intervals. Spatially the object interpolates linearly to each new random location.

When Time Interval is 0 (+-0), the noise is generated every frame and indicated by 'Continuous Update'.

Hold Time

To make the object stop at each random position, enter a hold time in seconds with optional variability.

Random Noise

Uses built-in Random function to generate a new random value each frame (or Time Interval).

Random Seed

Determines the starting seed for the random value generator. Change this or click the Randomize button for a new random variation.

Perlin Noise

Uses built-in Perlin noise function to generate smooth interpolating random values.

Perlin noise can be thought of as a field of random zones that blend into one another, creating an effect like turbulence.

Offset

Shifts the input position of Perlin noise.

Speed

Offsets the input position of Perlin noise over time, in units per second. This adds to the Input Position and Offset causing the Perlin noise to drift over time.

Scale

Sets the scale factor of the noise. This works with both Perlin and Random noise. Adjust the scale to control the overall intensity. If outputting a vector value (XYZ) then the scale on each axis may be set independently.

Multiply Scale

Scales the final noise output, multiplied uniformly with Scale.

Multiply Speed

Controls the overall speed of the Noise behavior.

Amount

Use this slider to reduce the overall intensity of the noise output.

Override Output

Each of the component values (XYZW) of the final noise output may be set to a fixed value. This is useful, for example, to set the alpha value (W) when using noise to generate a color.

Options

World Space

Enable this to work with world space coordinates, otherwise local space is used.

Center

When enabled, noise is centered on the input position in all directions around it. Otherwise if Center is unchecked, noise adds to the input position generating positive values only.

Invert

Flips the direction of the noise.

Additional Notes

Use Parenting to Contain Noise

It is often helpful to apply Noise on a separate object to isolate it from the target transform. In the example shown below, the target is a child of the Noise object. Creating a parent-child relationship in this way makes it easier to work with since only the child transform is affected.

Layering Noise with Channel Order

In the example shown below, the object has a Motion Path (Path Position) with Noise applied on top of it. The motion path provides the input position for the noise.

The channel order depends on the preferences setting Reverse Channel Order. In the example above, reverse order is enabled to clearly show which channel is on top.

In the inspector, this setup shows a warning by Use Transform since it is applying to the position of the same object providing it, however in this case the warning can be ignored since the motion path channel is processing first to set the object position.

When any property value, such as the transform position in the example above, is written to multiple times on the same frame, it all occurs within a single Update call. The final value is determined by the last channel processed, based on the order listed.

Predetermination

Random values are not entirely random and to a degree predeterminate. Noise attempts to generate the same results each time played by seeding the random number generator with the same value every frame. This results in repeating more-or-less the same movement each time the animation is played without caching the data, however there is some variability as illustrated in the graphs captured below.

Demonstrates Perlin noise with data captured over several playbacks.

During each playback there is some variability in range, however mostly noise behaves the same.

This shows data captured from Random mode with multiple playbacks showing that the randomness is similar each time.

The Graph behavior is used in these example to capture the data generated from Noise using Channel Link.

Last updated