# Track Types

## Overview

ActionSequence composes an action by combining multiple tracks based on a timeline. Each track is responsible for a specific type of direction. This document describes the structure of tracks, their common properties, and the functionality of each track type.

## Basic Concepts

<table><thead><tr><th width="177.3333740234375">Image</th><th width="183.0001220703125">Concept</th><th>Description</th></tr></thead><tbody><tr><td><img src="https://2064130887-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhrvYlLq1mQAq0V0vwPsb%2Fuploads%2FjRigYa6lHmP5i8Mmlr2g%2Fimage.png?alt=media&#x26;token=cc850425-38e3-482d-8ad5-26d4803c1395" alt="" data-size="original"></td><td>Track</td><td>A unit that <strong>defines a single function</strong> on the timeline. It consists of elements such as animation tracks, sound tracks, and event tracks.</td></tr><tr><td><img src="https://2064130887-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhrvYlLq1mQAq0V0vwPsb%2Fuploads%2FkXnTh8b7f4WNIuIlEu6E%2FTimeline-Symbol-Section.png?alt=media&#x26;token=9a65bc3a-f9cf-4b22-abdc-18422fd61ca5" alt="" data-size="original"></td><td>Section</td><td><strong>Data applied over a specific duration</strong> on the timeline. It has a start and end time and defines the direction or behavior executed within that range.</td></tr><tr><td><img src="https://2064130887-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhrvYlLq1mQAq0V0vwPsb%2Fuploads%2FjioI4ebDwNcZ99alfvGL%2FTimeline-Symbol-Keyframe.png?alt=media&#x26;token=6cf3675d-c500-4a98-888b-d39eb052ca01" alt="" data-size="original"></td><td>Keyframe</td><td>A value set at a <strong>specific point in time</strong> on the timeline. It is used when <strong>changing property values</strong> at a specific time.</td></tr><tr><td><img src="https://2064130887-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhrvYlLq1mQAq0V0vwPsb%2Fuploads%2FzHNi7jE3NwLVzysI6eq4%2FTimeline-Symbol-Marker.png?alt=media&#x26;token=e1c0a657-d845-4d3c-8366-e00041c5e8e8" alt=""></td><td>Marker</td><td>A value set at a <strong>specific point in time</strong> on the timeline. Each marker has a unique key value, which is used to <strong>trigger actions</strong> <strong>at specific moments</strong> by connecting to script events.</td></tr></tbody></table>

## Common Track Properties

<table><thead><tr><th width="183.6666259765625">Property</th><th>Description</th></tr></thead><tbody><tr><td>Start Time</td><td>Indicates the <strong>start time</strong> of a section or the entire keyframe range. Sections can be edited, but keyframes are displayed as read-only and cannot be edited. <br>(Keyframe timing must be adjusted by selecting individual keyframes.)</td></tr><tr><td>End Time</td><td>Indicates the <strong>end time</strong> of a section or the entire keyframe range. Sections can be edited, but keyframes are displayed as read-only and cannot be edited. <br>(Keyframe timing must be adjusted by selecting individual keyframes.)</td></tr><tr><td>Is Enable</td><td>Indicates whether the track is <strong>enabled</strong>. The setting is applied to both the ActionSequence editor (editing stage) and runtime.</td></tr></tbody></table>

## Track Types

<table><thead><tr><th width="193.6666259765625">Track</th><th width="294.3333740234375">Function</th><th>Notes</th></tr></thead><tbody><tr><td>Animation Track</td><td>A track that plays animations</td><td>Requires specifying an Animation Id</td></tr><tr><td>Sound Track</td><td>A track that plays sounds</td><td>Requires specifying a Sound Id</td></tr><tr><td>CameraShake Track</td><td>A track that applies camera shake</td><td>For preview, you must switch to the character camera view</td></tr><tr><td>Camera FOV Track</td><td>A track that controls camera FOV</td><td>For preview, you must switch to the character camera view</td></tr><tr><td>Camera Zoom Track</td><td>A track that controls camera zoom</td><td>For preview, you must switch to the character camera view</td></tr><tr><td>Control Track</td><td>A track that references objects under the ActionSequence to control properties such as position, rotation, and transparency</td><td>Target objects must be specified under the ActionSequence</td></tr><tr><td>Collision Track</td><td>A track that generates collision detection</td><td>Can consist of multiple markers, and each key is connected to a script event</td></tr><tr><td>Event Track</td><td>A track that triggers events at specific frames</td><td>Can consist of multiple markers, and each key is connected to a script event</td></tr><tr><td>Trigger Track</td><td>A track that triggers events with a start and end duration</td><td>Composed based on sections and connected to script events</td></tr></tbody></table>

### Animation Track

A track that plays animations.

#### Track Properties

<table><thead><tr><th width="187.6666259765625">Property</th><th>Description</th></tr></thead><tbody><tr><td>Ovdr Asset Id</td><td>Specifies the animation asset to play (<code>ovdrassetid://</code> format). When an asset is assigned, the section length is automatically updated to match the animation length.</td></tr><tr><td>Blend in Time</td><td>Sets the blend duration based on the section start time for a smooth transition when switching animations.</td></tr><tr><td>Blend Out Time</td><td>Sets the blend duration based on the section end time for a smooth transition when switching animations.</td></tr><tr><td>Slot Type</td><td><p>Specifies the body region where the animation is applied.</p><ul><li>Full Body: Applies the animation to the entire body.</li><li>Upper Body: Applies the animation only to the upper body.</li><li>Lower Body: Applies the animation only to the lower body.</li></ul></td></tr></tbody></table>

#### Blend

Blend is a feature that ensures smooth transitions between animations by gradually fading out the previous animation and blending in the next animation.

* **Blend In**: The transition range from the previous animation to the current animation
* **Blend Out**: The transition range from the current animation to the next animation

Within the blend range, both the previous and next animations are applied simultaneously, and the weight changes over time to create a smooth transition. During this period, **the original animation is not played at 100% as-is**; instead, a **blended result** with another animation is applied.

As the blend duration increases, the portion where the original animation is fully expressed becomes shorter. Therefore, you should **adjust the section length as needed to ensure the intended motion is properly represented**.\
(Example: If a 3-second animation has Blend In/Out set to 1 second each, the portion where the original motion appears unchanged is about 1 second.)

Blending is applied only between the same SlotType (UpperBody ↔ UpperBody, LowerBody ↔ LowerBody). However, Full Body animations can blend with all SlotTypes.

### Sound Track

A track that plays sounds.

#### Track Properties

<table><thead><tr><th width="187.6666259765625">Property</th><th>Description</th></tr></thead><tbody><tr><td>Ovdr Asset Id</td><td>Specifies the sound asset to play (<code>ovdrassetid://</code> format). When an asset is assigned, the section length is automatically updated to match the sound length.</td></tr><tr><td>Is 2DSound</td><td><p>Specifies how the sound is played.</p><ul><li>false (2D): Plays at a constant volume regardless of position.</li><li>true (3D): Plays based on position, attached to the character.</li></ul></td></tr><tr><td>(Attachment Offset)<br>Is Attach</td><td><p>When Is 2DSound is true, determines whether the sound follows the character.</p><ul><li>true: The sound is attached to the character and moves with it.</li><li>false: The sound plays at the character’s position at the time the ActionSequence starts.</li></ul></td></tr><tr><td>(Attachment Offset)<br>Relative Location</td><td>When Is 2DSound is true, sets the relative position of the sound based on the character.</td></tr><tr><td>(Attachment Offset)<br>Relative Rotation</td><td>When Is 2DSound is true, sets the relative rotation of the sound based on the character.</td></tr><tr><td>Roll Off Max Distance</td><td>Sets the maximum distance at which the sound can be heard.</td></tr><tr><td>Roll Off Min Distance</td><td>Sets the minimum distance at which sound attenuation begins.</td></tr><tr><td>Roll Off Mode</td><td><p>Sets how sound attenuates over distance.</p><ul><li>Inverse: Decreases inversely with distance.</li><li>Linear: Decreases linearly with distance.</li><li>Linear Square: Decreases proportional to the square of the distance.</li><li>Inverse Tapered: Reduces attenuation at close distances.</li></ul></td></tr><tr><td>Fade in Time</td><td>Sets the fade-in time of the sound.</td></tr><tr><td>Fade Out Time</td><td>Sets the fade-out time of the sound.</td></tr></tbody></table>

#### Fade

Fade is **applied only between the same playback types (2D ↔ 2D, 3D ↔ 3D)**, and is not applied between different types.

#### Roll Off Mode

Each type of Roll Off Mode can be used as follows:

* Inverse: Explosion sounds (the farther the player is, the more the sound gradually decreases)
* Linear: Background music from a radio (sound decreases consistently with distance)
* Linear Square: Gunfire (strong at close range, rapidly decreases at long distance)
* Inverse Tapered: Wind sounds (sound decreases gradually at close range)

### CameraShake Track

A track that applies camera shake.

#### Track Properties

<table><thead><tr><th width="187.6666259765625">Property</th><th>Description</th></tr></thead><tbody><tr><td>Shake Type</td><td><p>Selects the type of camera shake. Each preset provides direction suited for specific situations.</p><ul><li>Impact: Impact-based shake (used for general attacks, melee hits, explosions)</li><li>Recoil: Rotation-based shake from recoil (used for gunfire, hit reactions, combo attacks)</li><li>Horizontal Shake: Side-to-side shake (used for large monster movement, strong shockwaves)</li><li>Vertical Shake: Up-and-down shake (used for jump landings, falls, heavy object impacts)</li><li>Light: Short and subtle shake (used for weak attacks, quick hits)</li><li>Heavy: Strong and weighty shake (used for powerful attacks, heavy impacts)</li><li>Stab: Directional, thrust-like shake (used for stabbing attacks, instant impact effects)</li><li>Ultimate: Extremely strong explosive shake (used for ultimate skills, large-scale explosions, destruction effects)</li><li>Dizzy: Continuous disorienting shake (used for stun, debuff, or drunken states)</li></ul></td></tr><tr><td>Scale</td><td>Adjusts the overall intensity of the camera shake. Higher values result in stronger shake effects.</td></tr></tbody></table>

#### Camera Preview

<div align="left"><figure><img src="https://2064130887-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhrvYlLq1mQAq0V0vwPsb%2Fuploads%2F7DPKO7Lls3HL57C8ORzD%2Fimage.png?alt=media&#x26;token=eeff7c45-1c81-4998-8ea9-a313ee090d7c" alt=""><figcaption></figcaption></figure></div>

To preview camera-related tracks (Camera Shake, Camera FOV, Camera Zoom, etc.), you need to switch the view using the **editor camera / character camera toggle button**.

In Character Camera view, **camera controls are disabled**.

#### Reference

* Camera effects at runtime are applied only to the Player who executed the ActionSequence.
* If you change the Shake Type without modifying the section length, the section length is automatically updated to match the default duration of the selected preset.
* The **Light / Heavy / Stab / Ultimate / Dizzy presets vary significantly in intensity depending on the Duration value**. To avoid unintended results, it is recommended to use them while keeping the section length at its default value.

### Camera FOV Track

A track that controls the camera FOV.

#### Track Properties

<table><thead><tr><th width="187.6666259765625">Property</th><th>Description</th></tr></thead><tbody><tr><td>Blend In</td><td>The time it takes for the camera value to smoothly transition from the player’s current camera setting (FOV) to the value set in the track when the track starts. The larger the value, the slower the transition.</td></tr><tr><td>Blend Out</td><td>The time it takes for the camera value to smoothly return from the track-applied value to the player’s default camera setting (FOV) when the track ends. The larger the value, the slower the return.</td></tr></tbody></table>

#### Keyframe Properties

In the Camera FOV Track, the Value field of a keyframe represents the camera’s FOV value.

#### Camera Preview

<div align="left"><figure><img src="https://2064130887-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhrvYlLq1mQAq0V0vwPsb%2Fuploads%2F7DPKO7Lls3HL57C8ORzD%2Fimage.png?alt=media&#x26;token=eeff7c45-1c81-4998-8ea9-a313ee090d7c" alt=""><figcaption></figcaption></figure></div>

To preview camera-related tracks (Camera Shake, Camera FOV, Camera Zoom, etc.), you need to switch the view using the **editor camera / character camera toggle button**.

In Character Camera view, **camera controls are disabled**.

#### Notes

* Unlike the Control Track, camera-related tracks do not retain their values after the last keyframe and are reset.
* During camera direction, changing the camera FOV via scripts may be restricted.

#### Reference

* At runtime, camera effects are applied only to the Player who executed the ActionSequence.

### Camera Zoom Track

A track that controls the camera Zoom.

#### Track Properties

<table><thead><tr><th width="187.6666259765625">Property</th><th>Description</th></tr></thead><tbody><tr><td>Blend In</td><td>The time it takes for the camera value to smoothly transition from the player’s current camera setting (Zoom) to the value set in the track when the track starts. The larger the value, the slower the transition.</td></tr><tr><td>Blend Out</td><td>The time it takes for the camera value to smoothly return from the track-applied value to the player’s default camera setting (Zoom) when the track ends. The larger the value, the slower the return.</td></tr></tbody></table>

#### Keyframe Properties

In the Camera Zoom Track, the Value field of a keyframe represents the camera’s Zoom value.

#### Camera Preview

<div align="left"><figure><img src="https://2064130887-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhrvYlLq1mQAq0V0vwPsb%2Fuploads%2F7DPKO7Lls3HL57C8ORzD%2Fimage.png?alt=media&#x26;token=eeff7c45-1c81-4998-8ea9-a313ee090d7c" alt=""><figcaption></figcaption></figure></div>

To preview camera-related tracks (Camera Shake, Camera FOV, Camera Zoom, etc.), you need to switch the view using the **editor camera / character camera toggle button**.

In Character Camera view, **camera controls are disabled**.

#### Notes

* Unlike the Control Track, camera-related tracks do not retain their values after the last keyframe and are reset.
* During camera direction, changing the camera Zoom via scripts may be restricted.

#### Reference

* At runtime, camera effects are applied only to the Player who executed the ActionSequence.

### Control Track

A track that references objects under the ActionSequence to control properties such as position, rotation, and transparency.

#### Track Properties

<table><thead><tr><th width="187.6666259765625">Property</th><th>Description</th></tr></thead><tbody><tr><td>(Attachment Offset)<br>Socket Name</td><td>Specifies the socket name to use when attaching an object to a specific socket. If no socket is specified, it is attached to the default reference position. Available sockets can be found in the Rig Hierarchy shown in the Animation Editor.</td></tr><tr><td>(Attachment Offset)<br>Is Attach</td><td><p>Determines whether the referenced object follows the character.</p><ul><li>true: The referenced object is attached to the character and moves together with it.</li><li>false: The object is displayed at the character’s position at the time the ActionSequence is executed.</li></ul></td></tr><tr><td>(Attachment Offset)<br>Relative Location</td><td>Sets the relative position offset based on the referenced object or socket.</td></tr><tr><td>(Attachment Offset)<br>Relative Rotation</td><td>Sets the relative rotation offset based on the referenced object or socket.</td></tr><tr><td>Ref Object</td><td>Specifies the target object to be controlled by the track. The properties of the selected object can be controlled using keyframes.</td></tr></tbody></table>

#### Referencing Objects

<figure><img src="https://2064130887-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhrvYlLq1mQAq0V0vwPsb%2Fuploads%2FHEZ7kFek67IHl9Vynpwh%2Fimage.png?alt=media&#x26;token=f16dca52-e4f6-4853-8997-bc4d2b87e407" alt=""><figcaption></figcaption></figure>

You can use the **selection button** in the Ref Object field to select an object under the ActionSequence from the Level Browser and assign it as a reference.

It is recommended to specify the **top-level parent object** as the reference target, rather than selecting individual child objects. For example, if a VFXPreset is structured under a Part, you should reference the Part instead of the VFXPreset.

If the referenced object is **not displayed correctly in the Viewport after assignment**, it will be properly updated after playing once or moving the scrubber. (This behavior is planned to be improved for immediate updates in the future.)

**Notes**

* When adding objects under the ActionSequence, **include only the objects that need to be controlled and make sure they are referenced in the Control Track**. It is recommended to disable or remove collision settings for unused objects.
* **If objects are placed under the ActionSequence but are not referenced in the Control Track**, they may be displayed incorrectly in the Viewport.

#### Reference Object Hierarchy Display

<figure><img src="https://2064130887-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhrvYlLq1mQAq0V0vwPsb%2Fuploads%2FJqqlLlW6xxMQu6EpJiWv%2Fimage.png?alt=media&#x26;token=ff61adf7-c025-47a2-a7b7-13f9292c4b64" alt=""><figcaption></figcaption></figure>

When a reference object is assigned, its **hierarchical structure is displayed in the track based on that object**. For example, if a Part object is referenced, its child objects such as VFXPreset are also displayed together.

This allows you to view and control the properties of multiple child elements simultaneously through a single reference.

#### Keyframe Properties

The properties that can be controlled in keyframes vary depending on the **type of the referenced object**.

<table><thead><tr><th width="200">Instance Type</th><th>Supported Properties</th></tr></thead><tbody><tr><td>Model</td><td><ul><li>OriginPosition: Sets the position</li><li>OriginRotation: Sets the rotation</li></ul></td></tr><tr><td>Part </td><td><ul><li>Shape: Sets the shape of the part</li><li>Transparency: Sets transparency</li><li>CanCollide: Sets whether collision is enabled</li><li>CanTouch: Sets whether touch events are enabled</li><li>Size: Sets the size</li><li>OriginPosition: Sets the position</li><li>OriginRotation: Sets the rotation</li></ul></td></tr><tr><td>MeshPart</td><td><ul><li>Transparency: Sets transparency</li><li>CanCollide: Sets whether collision is enabled</li><li>CanTouch: Sets whether touch events are enabled</li><li>Size: Sets the size</li><li>OriginPosition: Sets the position</li><li>OriginRotation: Sets the rotation</li></ul></td></tr><tr><td>ParticleEmitter</td><td><ul><li>Enabled: Sets whether the effect is active</li><li>Rate: Sets the number of particles generated per second</li><li>Emit: Emits a specified number of particles</li></ul></td></tr><tr><td>VFXPreset</td><td><ul><li>Enable: Sets whether the effect is active</li></ul></td></tr></tbody></table>

**Notes**

For objects referenced in the Control Track, the baseline for property values changes depending on whether keyframes are inserted.

Before inserting keyframes, the object’s current property values are used as the initial values. However, after inserting keyframes, the value of the first keyframe is applied as the default value regardless of the keyframe position.

### Collision Track

A track that generates collision detection.

#### Marker Properties

<table><thead><tr><th width="187.6666259765625">Property</th><th>Description</th></tr></thead><tbody><tr><td>Collision Event Name</td><td>Specifies the name of the event to be triggered when a collision occurs. The defined name can be used to identify collision events in scripts.</td></tr><tr><td>Collider Type</td><td><p>Specifies the type of collision shape to use.</p><ul><li>Box: Uses a box-shaped collision area</li><li>Sphere: Uses a spherical collision area</li><li>Capsule: Uses a capsule-shaped collision area</li><li>Frustum: Uses a collision area that expands in a specific direction from a point</li><li>Raycast: Performs collision detection using a ray</li></ul></td></tr><tr><td>Collider</td><td>A field for configuring detailed parameters such as size, radius, and length of the collision area based on the selected Collider Type</td></tr><tr><td>(Attachment Offset)<br>Socket Name</td><td>Specifies the socket name to use when attaching the collider to a specific socket. Available sockets can be found in the Rig Hierarchy shown in the Animation Editor.</td></tr><tr><td>(Attachment Offset)<br>Is Attach</td><td><p>Specifies whether to use a socket.</p><ul><li>true: The Socket Name field is enabled</li><li>false: The Socket Name field is disabled</li></ul></td></tr><tr><td>(Attachment Offset)<br>Relative Location</td><td>Sets the relative position offset based on the referenced object or socket</td></tr><tr><td>(Attachment Offset)<br>Relative Rotation</td><td>Sets the relative rotation offset based on the referenced object or socket</td></tr><tr><td>Collision Group</td><td>Specifies the Collision Group used for collision filtering. Collision behavior with other objects is determined based on the assigned group</td></tr></tbody></table>

#### Displaying Collision Areas in Play Test

In the Studio toolbar, enable **Show Collision** in the **View tab** to visualize collision areas in the Viewport when collision detection occurs during play. This allows you to more intuitively verify the actual collision range and behavior.

<figure><img src="https://2064130887-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhrvYlLq1mQAq0V0vwPsb%2Fuploads%2F68RqBCPE3iphKegensVw%2Fimage.png?alt=media&#x26;token=5d8c6d9b-c519-4f67-ae16-01cc8ce9a605" alt=""><figcaption></figcaption></figure>

### Event Track

A track that triggers events at specific frames.

#### Marker Properties

In the Event Track, the Value field of a marker specifies the name of the event to be triggered. The defined name can be used to identify the event in scripts.

### Trigger Track

A track that triggers events with a defined start and end duration.

#### Track Properties

<table><thead><tr><th width="187.6666259765625">Property</th><th>Description</th></tr></thead><tbody><tr><td>Trigger Name</td><td>You can set names to identify the events triggered when entering and exiting the trigger range. These names can be used in scripts or systems to handle the trigger.</td></tr></tbody></table>

## Learn More: Script API

For ActionSequence execution and control, as well as Collision Track, Event Track, and Trigger Track related Script APIs, refer to the document below.

{% content-ref url="running-actionsequences" %}
[running-actionsequences](https://docs.overdare.com/manual/studio-manual/game-development/actionsequence/running-actionsequences)
{% endcontent-ref %}
