Skip to content

Documentation / scene / AnimationTrack

Abstract Class: AnimationTrack<StateType> ​

Defined in: libs/scene/src/animation/animationtrack.ts:19

Base class for animation tracks.

A track produces time-varying state for a specific target and defines how to:

  • Compute state at a given time (calculateState)
  • Apply that state to a target (applyState)
  • Blend between two states (mixState)
  • Report its blend compatibility (getBlendId)
  • Report its intrinsic duration (getDuration)

Generic:

  • StateType is the shape of the computed/applied state (e.g., number, vector, pose).

Extended by ​

Type Parameters ​

StateType ​

StateType = unknown

Constructors ​

Constructor ​

new AnimationTrack<StateType>(embedded?): AnimationTrack<StateType>

Defined in: libs/scene/src/animation/animationtrack.ts:35

Construct a new animation track.

Parameters ​

embedded? ​

boolean

Whether this track is embedded/owned inline by its container. Default false.

Returns ​

AnimationTrack<StateType>

Accessors ​

name ​

Get Signature ​

get name(): string

Defined in: libs/scene/src/animation/animationtrack.ts:45

Human-readable name of the track.

Returns ​

string

Set Signature ​

set name(val): void

Defined in: libs/scene/src/animation/animationtrack.ts:48

Parameters ​
val ​

string

Returns ​

void


embedded ​

Get Signature ​

get embedded(): boolean

Defined in: libs/scene/src/animation/animationtrack.ts:54

Whether this track is embedded (owned inline by a resource/container).

Returns ​

boolean


animation ​

Get Signature ​

get animation(): AnimationClip

Defined in: libs/scene/src/animation/animationtrack.ts:60

The AnimationClip that owns this track.

Returns ​

AnimationClip

Set Signature ​

set animation(ani): void

Defined in: libs/scene/src/animation/animationtrack.ts:63

Parameters ​
ani ​

AnimationClip

Returns ​

void


target ​

Get Signature ​

get target(): string

Defined in: libs/scene/src/animation/animationtrack.ts:72

Logical target identifier for this track (optional metadata).

This does not affect application; it can be used by tooling or higher-level systems to label/group tracks.

Returns ​

string

Set Signature ​

set target(val): void

Defined in: libs/scene/src/animation/animationtrack.ts:75

Parameters ​
val ​

string

Returns ​

void


jointIndex ​

Get Signature ​

get jointIndex(): number

Defined in: libs/scene/src/animation/animationtrack.ts:81

Joint index if this track controls a joint, otherwise -1

Returns ​

number

Set Signature ​

set jointIndex(index): void

Defined in: libs/scene/src/animation/animationtrack.ts:84

Parameters ​
index ​

number

Returns ​

void

Methods ​

clone() ​

abstract clone(): this

Defined in: libs/scene/src/animation/animationtrack.ts:90

Clone this animation track

Returns ​

this


reset() ​

reset(_target): void

Defined in: libs/scene/src/animation/animationtrack.ts:98

Reset the track to its initial state for the given target.

Intended to stop playback and rewind the target to the first frame or default state.

Parameters ​

_target ​

object

The animated object to reset.

Returns ​

void


calculateState() ​

abstract calculateState(target, currentTime): StateType

Defined in: libs/scene/src/animation/animationtrack.ts:109

Compute the animation state at the specified time.

Implementations should be pure with respect to inputs: given the same target and currentTime, return the same StateType.

Parameters ​

target ​

object

The animated object (used to resolve current baseline if needed).

currentTime ​

number

Time cursor in seconds within the track's timeline.

Returns ​

StateType

The computed state at currentTime.


applyState() ​

abstract applyState(target, state): unknown

Defined in: libs/scene/src/animation/animationtrack.ts:116

Apply a previously computed animation state to the target.

Parameters ​

target ​

object

The animated object to modify.

state ​

StateType

The state to apply.

Returns ​

unknown


mixState() ​

abstract mixState(a, b, t): StateType

Defined in: libs/scene/src/animation/animationtrack.ts:125

Blend two states into a new state using a weight.

Parameters ​

a ​

StateType

First state.

b ​

StateType

Second state.

t ​

number

Blend weight in [0, 1], where 0 yields a and 1 yields b.

Returns ​

StateType

The blended state.


getBlendId() ​

abstract getBlendId(): unknown

Defined in: libs/scene/src/animation/animationtrack.ts:134

Get the blend identifier for this track.

Tracks with the same blend ID are considered compatible for blending on the same target channel/property.

Returns ​

unknown

An identifier used to group compatible tracks for blending.


getDuration() ​

abstract getDuration(): number

Defined in: libs/scene/src/animation/animationtrack.ts:142

Get the intrinsic duration of this track in seconds.

Used by clips to determine overall clip duration and looping behavior.

Returns ​

number

Track duration (seconds).

Released under the MIT License.