Builder for animation tracks. Provides .clip() for pre-built AnimationClips and .track() for inline animation definition.

interface AnimationTrackBuilder {
    activationTrack(
        name: string,
        binding?: null | Object3D<Object3DEventMap>,
    ): ActivationTrackBuilder;
    animationTrack(
        name: string,
        binding?: null | Object3D<Object3DEventMap> | Animator,
    ): AnimationTrackBuilder;
    audioTrack(
        name: string,
        binding?: null | Object3D<Object3DEventMap> | AudioSource,
        volume?: number,
    ): AudioTrackBuilder;
    build(): TimelineAssetModel;
    clip(
        asset: AnimationClip,
        options?: AnimationClipOptions,
    ): AnimationTrackBuilder;
    clip(
        descriptor: TrackDescriptor,
        options?: AnimationClipOptions,
    ): AnimationTrackBuilder;
    clip(
        descriptors: TrackDescriptor[],
        options?: AnimationClipOptions,
    ): AnimationTrackBuilder;
    controlTrack(name: string): ControlTrackBuilder;
    install(director: PlayableDirector): TimelineAssetModel;
    markerTrack(name: string): MarkerTrackBuilder;
    muted(muted?: boolean): AnimationTrackBuilder;
    signalTrack(
        name: string,
        binding?: null | Object3D<Object3DEventMap> | SignalReceiver,
    ): SignalTrackBuilder;
    track(
        target: Object3D,
        property: "position" | "scale",
        keyframes: KF<Vec3Value>,
        options?: TrackOptions,
    ): AnimationTrackBuilder;
    track(
        target: Object3D,
        property: "quaternion",
        keyframes: KF<QuatValue>,
        options?: TrackOptions,
    ): AnimationTrackBuilder;
    track(
        target: Object3D,
        property: "rotation",
        keyframes: KF<EulerValue>,
        options?: TrackOptions,
    ): AnimationTrackBuilder;
    track(
        target: Object3D,
        property: "visible",
        keyframes: KF<boolean>,
        options?: TrackOptions,
    ): AnimationTrackBuilder;
    track(
        target: Material,
        property:
            | "opacity"
            | "roughness"
            | "metalness"
            | "alphaTest"
            | "emissiveIntensity"
            | "envMapIntensity"
            | "bumpScale"
            | "displacementScale"
            | "displacementBias",
        keyframes: KF<number>,
        options?: TrackOptions,
    ): AnimationTrackBuilder;
    track(
        target: Material,
        property: "color" | "emissive",
        keyframes: KF<ColorValue>,
        options?: TrackOptions,
    ): AnimationTrackBuilder;
    track(
        target: Light,
        property: "intensity" | "distance" | "angle" | "penumbra" | "decay",
        keyframes: KF<number>,
        options?: TrackOptions,
    ): AnimationTrackBuilder;
    track(
        target: Light,
        property: "color",
        keyframes: KF<ColorValue>,
        options?: TrackOptions,
    ): AnimationTrackBuilder;
    track(
        target: PerspectiveCamera,
        property: "zoom" | "fov" | "near" | "far",
        keyframes: KF<number>,
        options?: TrackOptions,
    ): AnimationTrackBuilder;
}

Hierarchy (View Summary)

Methods

  • Adds an animation track for an Object3D's position or scale

    Parameters

    • target: Object3D
    • property: "position" | "scale"
    • keyframes: KF<Vec3Value>
    • Optionaloptions: TrackOptions

    Returns AnimationTrackBuilder

  • Adds an animation track for an Object3D's quaternion

    Parameters

    • target: Object3D
    • property: "quaternion"
    • keyframes: KF<QuatValue>
    • Optionaloptions: TrackOptions

    Returns AnimationTrackBuilder

  • Adds an animation track for an Object3D's rotation (Euler, converted to quaternion)

    Parameters

    • target: Object3D
    • property: "rotation"
    • keyframes: KF<EulerValue>
    • Optionaloptions: TrackOptions

    Returns AnimationTrackBuilder

  • Adds an animation track for an Object3D's visibility

    Parameters

    • target: Object3D
    • property: "visible"
    • keyframes: KF<boolean>
    • Optionaloptions: TrackOptions

    Returns AnimationTrackBuilder

  • Adds an animation track for a material's numeric property

    Parameters

    • target: Material
    • property:
          | "opacity"
          | "roughness"
          | "metalness"
          | "alphaTest"
          | "emissiveIntensity"
          | "envMapIntensity"
          | "bumpScale"
          | "displacementScale"
          | "displacementBias"
    • keyframes: KF<number>
    • Optionaloptions: TrackOptions

    Returns AnimationTrackBuilder

  • Adds an animation track for a material's color property

    Parameters

    • target: Material
    • property: "color" | "emissive"
    • keyframes: KF<ColorValue>
    • Optionaloptions: TrackOptions

    Returns AnimationTrackBuilder

  • Adds an animation track for a light's numeric property

    Parameters

    • target: Light
    • property: "intensity" | "distance" | "angle" | "penumbra" | "decay"
    • keyframes: KF<number>
    • Optionaloptions: TrackOptions

    Returns AnimationTrackBuilder

  • Adds an animation track for a light's color

    Parameters

    • target: Light
    • property: "color"
    • keyframes: KF<ColorValue>
    • Optionaloptions: TrackOptions

    Returns AnimationTrackBuilder

  • Adds an animation track for a camera's numeric property

    Parameters

    • target: PerspectiveCamera
    • property: "zoom" | "fov" | "near" | "far"
    • keyframes: KF<number>
    • Optionaloptions: TrackOptions

    Returns AnimationTrackBuilder