đ¤ī¸Tracks
Arranging objects and behaviors in time
Last updated
Arranging objects and behaviors in time
Last updated
A track is a special type of channel for objects in Timeflow, displayed on the same horizontal row as the object. Tracks can control animation timing and the active state of objects.
Each object has just 1 track channel, however it may be split into as many sections as needed. By default, tracks are created Auto Full Length and locked to prevent accidentally changing them.
Locked track sections may still be selected, however when dragged they remain unchanged and display a small icon to indicate they are locked. The fields in the info panel are also disabled while the selected tracks are locked.
To unlock tracks, select a track section in the Track View and click the small lock icon on the left side of the info panel.
The info panel also supports bulk editing for multiple selected tracks.
Once unlocked, the track section can now be edited by setting the start and stop points, and/or dragging the track.
Track start and end times can be edited numerically in the info panel, or by dragging the start and end handles of the track section in the Track View. The cursor changes to a horizontal slider arrow (as shown above) whenever the mouse hovers over a track start or end point.
Clicking and dragging anywhere in the middle of a track section moves the start and end together maintaining its duration.
When tracks are moved, they automatically stop when a neighboring track section is reached, however if dragged further, the track section can overwrite another as depicted below.
While dragging selected tracks, any track sections behind it that appear ghosted will be replaced when the drag is released (as shown above).
Cancel Drag
To cancel a drag currently underway without making changes, press the Escape key to stop the drag operation and return items to their starting position, maintaining the current selection. If the escape key is pressed while not dragging, it deselects all.
All the same keyboard shortcuts used with keyframes and moving things in time can also be used with track sections. See Keyboard Shortcuts
Go to track start or end
When a track section is selected, use the keyboard shortcut I (letter i for in) to set the playhead at the track in point, and the shortcut O (letter o for out) to go to the out point.
Set the selected tracks start or end time
Set the start time of selected tracks by pressing Alt + I (in), or set the end time using the keyboard shortcut Alt + O (out).
Snap to Grid Hold the Alt key while dragging tracks to snap to the time grid.
Tracks may optionally be configured to control Time Offset. When Drag Time Offset is enabled, tracks are no longer moved directly when dragged, but instead shift the time of the entire object.
Dragging is still allowed even when the track is locked (as shown above) since only the Time Offset is being affected. The track sections retain their start and end times, unless directly changed.
To disable selection and track editing for an object, while still keeping it in view, use the lock on the far left in the Switches column.
Please see the documentation for Drag Time Offset for further details.
When Auto is enabled, the track automatically adjusts its length to match the timeline. Enabling Auto also locks the track to prevent changes and is the default mode for new tracks.
Enabling Auto for any track results in a single full length track section, removing all others and locking the track.
Auto is disabled any time either the start or end times of a track are directly modified (which would require first unlocking the track).
Each track channel may be made up of 1 or unlimited track sections, each defining a time range. Tracks are displayed in blocks and work similar to keyframes in the way they are created, selected, and edited. By default, tracks and keyframes may be selected and edited together.
Track sections may be used for a number of purposes including starting and stopping behaviors and showing and hiding objects. How tracks affect the object is explained further below in Track Visibility.
Double-click any track section to select it and move the playhead to the track start.
A new track segment can be created by holding the Control key while left-clicking in an empty area of the track channel. A single click creates a track segment with a length equal to the current grid division settings. Or click and drag to manually draw out the length desired.
New track sections are only aligned with the grid if grid snap is enabled, or the Alt key is held while dragging or adding new tracks.
When multiple track sections are selected, dragging the start or end points of any selected track affects all others selected. This is a useful to edit and maintain the same length for each.
Keyframe Indicators The small notches on the blue and red track channels shown above indicate keyframes on channels currently collapsed in the display. These cannot be edited directly while collapsed but provide a useful overview of the keyframes within.
For more advanced track and keyframe editing features, see Alignment Tools.
Keyframes, events, and track sections directly below each selected track are considered related keyframes. This provides a useful way to work with a section of time including multiple objects and channels.
By default, all tracks and keyframes may be moved freely, independently of each other to avoid causing inadvertent changes across channels. However, at times you may want to move tracks and keyframes as a group, which can be accomplished by including related keyframes.
Show Related Keyframes
With at least 1 track selected, hold the Shift key to highlight related keyframes in green. Continue to hold the Shift key while dragging tracks to move related keyframes with it. This modifier may be added before or after starting the drag.
Select Related Keyframes
While holding Shift, double-click on the selected track to add all related keyframes to the current selection. With all tracks and related keyframes selected, additional editing operations may be performed. See Alignment Tools for more.
Track colors offer a way to organize scenes visually and personalize your experience with Timeflow. Assigning colors to tracks and channels helps to distinguish them and avoid confusing one item with another. Of course, personal preference varies when it comes to the use of colors in user interfaces, so to customize how track colors are handled by default, see Preferences.
Use the info panel in the lower left to set the display color for selected items. Tracks and objects share the same display color, while each channel may be assigned a separate display color.
Preset colors are also available in the context menu by right-clicking on an object or channel.
When a color is selected from the menu for an object, all of its channels are assigned the same color. Each channel may then be assigned a different color if desired.
Use the menu option Random Color to assign each selected object or channel a unique color.
Avoid Bright Yellows and Greens
When assigning colors, it is best to avoid the use of bright yellow and green since these are used in the UI to indicate selection (yellow) and related items (green). Using those colors is not prohibited, but may cause confusion. When using the random color feature, yellows and greens are automatically avoided.
Each track section can optionally display a label in the Track View. This can be helpful for organization by adding comments to describe the action or event or to add revision notes.
To add a label, select the track section and enter the label in the info panel.
Alternatively, select a track section and use the keyboard shortcut Control + R to enter a track label in place.
Each track may optionally be used to control the active or visible state of an object and its children. This option is displayed in the Values Column, in the Object Context Menu, and also in the TimeflowObject inspector.
This is the default mode for new tracks. This is a passive mode, meaning no changes are made to the object state or visibility. Only Timeflow behaviors are affected, with the track area controlling when channels are updated. This can be used to limit animation to specific time ranges.
Note that for all modes, behaviors on the object and its children are only updated during the active track sections. The parent take precedence over the child tracks, filtering down the hierarchy.
This mode can be used to active and deactivate the current game object (including its hierarchy).
Be careful using this mode because deactivating an object completely stops all scripts on the object. Timeflow manages these objects so that they can be reactivated, however depending on what other components are in use it may cause undesirable behavior.
This mode controls the visibility of the game object and all of its descendants by activating/deactivating all renderer components and colliders. In this mode all of the game objects remain active with their components continuing to update, but are not visible in the camera nor interact with physics or ray casting.
During setup each TimeflowObject prebuilds a list of renderers, colliders, lights, and visual effect components so that it can quickly activate or deactivate them during playback. This affects the object and all of its descendants, with the exception of any children which are set to the Renderer Independent mode, described next.
Using this mode, the track controls the objects visibility separately from its parents. This is typically only used in situations where the parent group is using Renderer mode and you need a specific object in the hierarchy to remain visible or hidden, independent of what the parent is doing.
This mode is similar to Activate, however it only activates/deactivates children of the current object, not the object itself. This is helpful in cases where the parent needs to stay active.
Each track casts a shadow over its channels and children to better visuals active regions. Any areas of animation falling under a shadow, whether from its own track or parent, is inactive.
Using Renderer Independent mode may be used to allow a child object to remain visible regardless of the parent track state.