⌚
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
  • Auto Bank Editor
  • Input Mode
  • World Space
  • Object Movement / Movement Axis
  • Motion Path
  • Channel Value
  • Movement Scale
  • Threshold
  • Banking
  • Max
  • Min Max
  • No Limit
  • Reset On Rewind
  • Apply to Axis
  • Invert
  • Orientation
  • Smooth Time
  • Cumulative
  • Dampen
  • Additional Notes
  1. Reference
  2. Behaviors
  3. Automation

Auto Bank

Auto calculate pitch and roll based on object movement

PreviousAutomationNextAuto Rotate

Last updated 7 months ago

To add Auto Bank, right-click an object and select:

Add Automation > Auto Bank

Auto Bank is most commonly used to add extra roll or pitch to an object based on its movement. This is determine by the object's velocity, calculated as the difference in position each frame.

Play Timeflow to preview Auto Bank accurately. Auto Bank relies on relative change in movement as it occurs and cannot calculate banking at arbitrary times. Therefore, whenever there are abrupt changes to the current time (such as when dragging the playhead), auto bank calculation may be incorrect.

To see Auto Bank perform properly, allow Timeflow to play uninterrupted. It may also be necessary to rewind sufficiently so there is enough lead time to fully apply smoothing.

Auto Bank Editor

Select the game object and view it in the Inspector view to configure settings.

Input Mode

Determine the input source of movement from which auto bank is calculated.

The input does not have to be 'movement' per se and can be any numeric channel input. Auto Bank simply reacts to relative changes, whatever the input source may be.

World Space

Enable this to force calculation in world space, otherwise positions are treated as local coordinates.

When using a Motion Path as input, turn off World Space to follow the path contours. Banking is then calculated from the turning direction relative to the heading of the object.

Object Movement / Movement Axis

Uses the object's transform position to generate banking. Select the axis of movement (position) to generate banking from.

Typically side-to-side movement (X) is used to calculate roll, whereas pitch is calculated from up-down movement (Y). Other combinations may be used to create dynamic spinning and spiraling effects based on movement.

Motion Path

Time Offset may be adjusted to either look ahead at upcoming turns and lean into the curve (like a pilot or driver would do), or time offset can be negative to delay banking (reacting to rather than anticipating each turn).

If the motion path is on a separate object, Auto Bank still rotates as expected, however the object's position remains unaffected. This makes it possible to decouple the banking movement from the position.

Channel Value

This mode uses another channel (on the same object) as an input value to calculate Auto Bank. This can be a position channel, or any numeric data type, though just 1 axis or float value is used as input.

Use this mode if the object position is animated on other channels, whether separately or combined.

Movement Scale

This multiplies the movement input value, controlling the overall intensity of banking.

A lower scale value results in more subtle banking overall, while increasing the value amplifies it. This can vary quite a bit depending on each situation where Auto Bank is used, so may take some experimentation to find the right settings for the effect you wish to achieve.

Threshold

Increase the threshold to make Auto Bank less sensitive to minor object movement, or lower the threshold to make auto bank more sensitive.

Banking

This controls the amount and degree of rotation, applied to the Axis selected. The Banking value affects how much banking is applied over the change in movement. A lower value reduces the effect, and a higher value increases it.

Max

This sets the maximum rotation value allowed for this axis. The value is enforced as both a negative and positive rotation.

Min Max

Use this mode if you wish to set explicit minimum and maximum values. This will keep the banking rotation within the rotation range specified.

No Limit

Use this mode to allow banking to rotate endlessly.

If no rotation limit is enforced, it is possible for rotations to go to infinity. Since infinity is not a real number, this condition will result in the object rotation being reset to 0. This ca be avoided by using a very high limit, or adjusting the movement scale and banking values to keep the rotations within a reasonable range.

Reset On Rewind

If enabled, the banking rotation is reset to 0 whenever Timeflow rewinds or loops. However, for looping paths you may wish to disable this for seamless banking when looping.

Apply to Axis

This sets the rotation axis to apply banking too.

Auto Bank can only generate 1 axis of rotation, however you may apply multiple instances of Auto Bank to create behaviors for pitch, roll, and yaw. If applied to the same object, the Orientation should only be set on the first one.

Invert

If Invert is enabled, the value range is swapped.

Enable Invert to make the object bank in the opposite direction. This determines whether the object is leaning into or away from turns.

Orientation

Optionally sets the base rotation of the object.

Use this to adjust the heading so the object is facing the direction desired.

If Orientation is off, the Auto Bank behavior applies additively with existing rotations on the object. Otherwise if Orientation is on, it overwrites the object's rotation when applying banking.

Auto Bank vs Rotation Conflict If Auto Bank is conflicting with other object rotations, you might consider applying Auto Bank on a parent or inserting a new transform to isolate the banking movement from other rotations.

Smooth Time

Applies temporal blending to create smoother more graceful banking.

Use a higher value of Smooth Time to create a slower auto banking response (sluggish), and a lower value to speed up banking response time (rapid).

Be aware that setting Smooth Time to zero or a very low value is likely to result in abrupt and sometimes unpredictable changes in banking rotation. If even a small amount, smoothing is recommended for best results.

Cumulative

If enabled, the banking rotation accumulates over the distance travelled (or based on the change of the input value). Use this option for objects that spin or corkscrew.

To fully utilize this effect and allow an object to spin more freely, enable No Limit or increase the rotation limit to an acceptable amount.

Dampen

This multiplies the banking amount when cumulative is enabled to reduce the banking so that it is easier to control. Since cumulative mode amplifies banking, the dampen amount is used to counteract that. This value may be adjusted to increase or decrease the rate.

The final rotation is checked for NaN (not a number) values in case infinity is reached. If this occurs, the rotation reverts to 0. If this is an issue in your setup, you may consider setting a max value.

Additional Notes

Late Update

For common features please refer to and .

Use a from the same or different object with optional Time Offset. The default offset is 0.25 seconds to allow a bit of lead time to anticipate banking.

This mode can also be used for more creative effects by adding a channel as the input, and then using to direct channels from other objects or calculate input data.

Channel Value mode also supports Time Offset, which works similarly as described above for the mode.

Determines the minimum change of input (i.e. movement) required to register a change. If the relative change in input value (from any ) is below the Threshold, it is ignored.

If Auto Bank is applied to the same object it bases movement from, it may be helpful to use , set in the Update Settings. This will result in Auto Bank updating after all other behaviors have been updated. This can fix jitter or shaking behavior that may occur otherwise.

đŸĒ„
🤖
🛸
Menu Bar
Update Settings
Motion Path
Motion Path
Input Mode
Channel Link
Data Only
An Auto Bank channel is added which outputs the current banking value as rotation in degrees.
Smooth Time is defined in seconds and does impart a delay to the banking response.
Late Update