⌚
Timeflow
  • ⌚Introduction
  • 📗User Guide
    • â–ļī¸Getting Started
      • ✅Requirements
      • âŦ‡ī¸Installation
      • 🚀Quick Start
      • âœī¸Workflow
      • đŸŽŦRender Pipeline
      • â¯ī¸Editor vs Runtime
      • đŸĻŋHow it Works
      • â›‘ī¸Potential Issues
      • ⚡Optimization
      • 🔨3rd Party Tools
      • đŸ”ĸUpgrading Guide
    • â„šī¸Timeflow Editor
      • đŸŽ›ī¸Menu Bar
      • â˛ī¸Time
      • Local Time Scope
      • 🧰Work Area
      • âš™ī¸Settings
      • âŗUpdate Settings
      • đŸ“ēDisplay Lists
      • đŸ”ģMarkers
      • đŸ”ĩObject
      • 🏭Managed Objects
      • ⚡Quick Select Objects
      • âš’ī¸Tools
    • đŸŽŦTimeflow View
      • 🔩Toolbar
        • 🔑Auto Keyframing
        • â¯ī¸Play Controls
        • đŸĨ…Work Area
        • â¯ī¸Current Time
        • đŸŽŧMusical Timing
        • 🌐Grid and Snap
        • 🔸Keyframe Values
        • đŸ”ģMarkers
      • â˛ī¸Timeline
      • 📐Time Navigation
      • Local Time Scope
      • 🎏Track View
      • â†˜ī¸Selection
      • 📰Object Panel
      • đŸ“ēDisplay Lists
      • 🍱Channels
      • đŸŖProperties
      • 🔗Channel Link
      • đŸšĨSwitches
      • 📅Values Column
      • đŸ›¤ī¸Tracks
      • 🔸Keyframes
      • đŸ“ļAlignment Tools
      • ⌛Time Offset
      • đŸ”ĸInfo Panel
      • 📉Graph View
      • âœ‚ī¸Keyframe Tools
    • 🍰Menus & Shortcuts
      • 📃Context Menus
        • â†–ī¸Select Menu
        • 📰Object Menu
        • 🍱Channel Menu
        • đŸ›¤ī¸Tracks Menu
        • 🔸Keyframes Menu
        • đŸ”ģMarkers Menu
        • 📰View Menu
        • 📰Events Menu
        • đŸĨ…Work Area Menu
      • đŸ—ƒī¸File Menu
      • âš’ī¸Timeflow Menu
        • đŸ•ēAdd Behavior
        • đŸ”ļAnimation
        • 🍱Composition
        • đŸ“ēDisplay
        • ⏊Jump To
        • 👨‍đŸ‘Ļ‍đŸ‘ĻHierarchy
        • 🌐Mesh
        • 👉Select
        • 📚Tracks
        • 🌈Track Colors
        • â†”ī¸Transform
        • đŸ‘ī¸Visibility
        • đŸ› ī¸Editor
      • đŸ”ĩGame Objects Menu
      • đŸŽ›ī¸Presets
      • âš™ī¸Preferences
        • Assets
        • ⌛Time
        • đŸŗī¸â€đŸŒˆTracks
        • âšĒObjects
        • 🧮Channels
        • đŸ”ļKeyframes
        • 🔠Input
        • đŸ“ĨImport
        • đŸ–ŧī¸Rendering
        • đŸŽ›ī¸Overrides
        • 🍱Extras
      • *ī¸âƒŖKeyboard Shortcuts
        • Managing Shortcuts
      • âœ´ī¸Quick Menu
  • Reference
    • đŸ”ĩTimeflow Object
      • đŸĸTracks
      • 🏭Behaviors
      • ⏰Events
      • đŸ—ƒī¸Channels
    • 💃Timeflow Controller
      • đŸŽžī¸Timeflow Playback
    • đŸĒ„Behaviors
      • đŸŽžī¸Animation
        • 🔸Keyframer
        • â†”ī¸Tween
        • 🔀Blend
        • đŸŽĸMotion Path
        • đŸ‘¯Animation Clips
        • 🌴Animator Blend Trees
        • 😁Blend Shapes
      • 🤖Automation
        • 🛸Auto Bank
        • 🧭Auto Rotate
        • 📐Distance
        • ⏰Event
        • đŸ›Šī¸Flyby
        • 🏃Follow
        • 👀Look At
        • đŸŽ¯Look At Target
        • 🎲Noise
        • 🚊Place On Path
        • đŸī¸Place On Surface
      • 🔊Audio
        • 🔊Audio Track
        • đŸŽŧAudio Spectrum
        • đŸŽĩAudio Sample
        • đŸŽ™ī¸Audio Reactive
      • 🎹MIDI
        • 🎹Midi File
        • đŸĨMidi Tween
        • 📡Midi Receiver
          • đŸŽ›ī¸Minis Setup (New Input System)
          • đŸšĨMidiJack Setup (Legacy Input)
      • 🏁Rendering
        • đŸŽžī¸Render To Disk
        • 📋Render Queue
        • đŸ“Ŋī¸Video Encoding
        • 💡Tips & Optimizations
        • âēī¸Unity Recorder
      • 🔧Tools
        • â„šī¸Animator Info
        • 🧮Align Children
        • đŸ’ŦComment
        • #ī¸âƒŖFPS Counter
        • 📈Graph
        • 🔗Property Link
        • 🔄Rotator
        • ✨Particle System Update
        • 🌈Trail Renderer Update
        • đŸ“ēVideo Player Update
    • đŸ—ƒī¸Precomposing
    • 🏭Prefabs
    • đŸŽ›ī¸Editor Overrides
      • 🏹Transform Editor Override
    • 🔌Integrations
      • đŸ§™â€â™‚ī¸Adventure Creator
      • đŸŽ›ī¸MIDI Jack | Minis
      • đŸ¤ēSpine Animation
      • đŸ“Ŋī¸Unity Timeline
      • ➰Unity Splines
    • đŸĒSamples
      • đŸ•šī¸Demo App
      • đŸŽžī¸Cutscenes
      • 🏓Physics
      • 🍧Shader Properties
      • ⚡Visual Effect Graph (VFX)
    • 📖Glossary
    • 📗Scripting
    • đŸ“ŖPublished Works
    • âš ī¸Known Issues
    • 🆘Support
    • đŸ§ĒBeta
    • Roadmap
    • đŸ”ĸVersion History
    • ÂŠī¸Terms & Privacy
Powered by GitBook
On this page
  • Noise Editor
  • Apply Mode
  • Apply to Transform
  • Axis
  • Input Position
  • Use Transform
  • Time Interval
  • Hold Time
  • Random Noise
  • Random Seed
  • Perlin Noise
  • Offset
  • Speed
  • Scale
  • Multiply Scale
  • Multiply Speed
  • Amount
  • Override Output
  • Options
  • World Space
  • Center
  • Invert
  • Additional Notes
  • Use Parenting to Contain Noise
  • Layering Noise with Channel Order
  • Predetermination
  1. Reference
  2. Behaviors
  3. Automation

Noise

Generate random and turbulent motion

PreviousLook At TargetNextPlace On Path

Last updated 10 months ago

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

To add Noise, right-click an object in the Timeflow View and select:

Add Automation > Noise

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.

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.

Beware of Confusing Setups

Since it is possible to target any transform in the scene, make sure the relationships are documented or clearly shown in the scene. Otherwise, an object may be under the influence of a behavior that can be hard to track down.

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.

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.

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.

Use Time Interval and Hold Time to create a variety of autonomous movements. This could be used to simulate insect-like behavior, flying vehicles, or to add periodic randomness to any animation or behavior.

Random Noise

Use Random mode for extra random or chaotic movement.

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

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

Use Perlin for organic smoother movement. It's easiest to imagine Perlin noise as a 3-dimensional cloud which an object can move through.

Offset

Shifts the input position of Perlin noise.

Use Offset to change the randomness of the Perlin field. This can be helpful when working at 0,0,0 coordinates where noise generation may sometimes appear symmetrical or not random enough.

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.

Use Speed to simulate wind and other effects.

Scale

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.

Use Amount to make the noise effects more subtle or to animate it on and off.

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

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

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

For common features, please refer to and .

Apply to Position <=> Input Position When applying to Position and Use Transform is enabled, if the target transform is the same object a warning is displayed. This configuration causes a circular loop where Noise generates the transform position which is then used for input on the next frame calculated. This is not prohibited and will still function, however the transform movement is sporadic and unpredictable since it doesn't have a fixed position to anchor the noise. This results in runaway objects and is likely not the desired result. See below for more advanced setup to resolve this.

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 to apply between time intervals. Spatially the object interpolates linearly to each new random location.

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

Uses built-in to generate smooth interpolating random values.

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 () then the scale on each axis may be set independently.

This also scales the and accordingly. To increase noise speed separately without affecting the time interval, the may be set with Perlin noise.

In the example shown below, the object has a (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 . 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 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.

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 captured below.

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

đŸĒ„
🤖
🎲
Menu Bar
Update Settings
Perlin noise function
Motion Path
graphs
Graph
Channel Link
Parenting and Channel Order
Random
Time Interval
XYZ
Time Interval
Hold Time
Speed
Use Transform
Channel Link
interpolation
Reverse Channel Order
Input Position is controlled by the transform component when Use Transform is enabled
Demonstrates Perlin noise with data captured over several playbacks.
This shows data captured from Random mode with multiple playbacks showing that the randomness is similar each time.