Taos API Reference
    Preparing search index...

    Class AnimatedModel

    Component that plays GLTF skeletal animation clips on a skinned model.

    Owns the animated joint matrices consumed by the skinned variant of the world geometry pass. Each frame, AnimatedModel.update samples the current clip into per-joint TRS arrays and rebuilds jointMatrices via the bound Skeleton.

    Hierarchy (View Summary)

    Index

    Constructors

    Properties

    id: string = ...

    Stable identity for this component, unique within a session. Auto-generated for runtime-created components; the editor overwrites it with a persistent id when projecting a saved document so references survive save / load / undo.

    gameObject: GameObject

    The owning GameObject; assigned by addComponent before onAttach runs.

    model: GltfModel
    skeleton: Skeleton
    currentClip: string | null = null

    Name of the currently playing clip, or null when stopped.

    speed: number = 1.0

    Playback speed multiplier (1.0 = real-time).

    loop: boolean = true

    Whether playback loops at clip duration.

    jointMatrices: Float32Array

    Final joint matrices (jointCount × 16, column-major) read by the skinned render pass.

    previousJointMatrices: Float32Array

    Snapshot of jointMatrices from the start of the previous update. Used by the velocity-buffer motion blur path to compute per-bone screen-space motion. The snapshot is the previous-frame pose, not the current one — so feeding it to the velocity shader alongside the current jointMatrices reproduces the inter-frame skin deformation.

    skinIndex: number

    Which skin (index into model.skins) this animator drives.

    Accessors

    • get time(): Time

      The simulation clock of the scene this component belongs to. Read inside update (or any time after the GameObject is added to a scene) for absolute time, frame count, FPS, and timeScale-aware delta — e.g. this.time.elapsed, this.time.delta, this.time.frameCount.

      this.time.delta equals the dt argument passed to update, so components can ignore that argument entirely and pull everything from here.

      Returns Time

      if the owning GameObject is not currently part of a scene.

    Methods

    • Called once when the component is added to a GameObject. Override to acquire references to siblings/children or initialize resources.

      Returns void

    • Called once when the component is removed from its GameObject. Override to release resources or unsubscribe from events.

      Returns void

    • Called every frame by the GameObject's render traversal, after update and any input/controller mutations to the transform. Override to refresh per-frame state that render passes consume (e.g. Camera recomputes its cached view/projection matrices here).

      Parameters

      • _ctx: RenderContext

        Active render context (provides canvas width/height etc.).

      Returns void

    • Starts playback of a named clip from time 0.

      When fade > 0 and a different clip is already playing, the current clip is cross-faded out over fade seconds (both clips sampled and blended) instead of hard-snapping — for smooth gait transitions (e.g. Walk → Run).

      Parameters

      • clipName: string

        Clip name as it appears in the GLTF model. Unknown names stop playback.

      • loop: boolean = true

        Whether playback wraps at clip duration.

      • fade: number = 0

        Cross-fade duration in seconds (0 = instant snap).

      Returns void