A target-path pair within a larger Animation, which refers to an AnimationSampler storing the keyframe data for that pair.

A target is always a Node, in the core glTF spec. A path is any property of that Node that can be affected by animation: translation, rotation, scale, or weights. An Animation affecting the positions and rotations of several Nodes would contain one channel for each Node-position or Node-rotation pair. The keyframe data for an AnimationChannel is stored in an AnimationSampler, which must be attached to the same Animation.

Usage:

const node = doc.getRoot()
    .listNodes()
    .find((node) => node.getName() === 'Cog');

const channel = doc.createAnimationChannel('cogRotation')
    .setTargetPath('rotation')
    .setTargetNode(node)
    .setSampler(rotateSampler);

Reference

Hierarchy

Properties

propertyType: string

Property type.

Methods

  • clone(): this
  • copy(other: this, resolve: PropertyResolver<Property>): this
  • Copies all data from another property to this one. Child properties are copied by reference, unless a 'resolve' function is given to override that.

  • detach(): this
  • Removes all inbound references to this object. At the end of the process the object is considered 'detached': it may hold references to child resources, but nothing holds references to it. A detached object may be re-attached.

  • dispose(): void
  • Removes both inbound references to and outbound references from this object. At the end of the process the object holds no references, and nothing holds references to it. A disposed object is not reusable.

  • getExtras(): object
  • Returns a reference to the Extras object, containing application-specific data for this Property. Extras should be an Object, not a primitive value, for best portability.

  • getName(): string
  • Returns the name of this property. While names are not required to be unique, this is encouraged, and non-unique names will be overwritten in some tools. For custom data about a property, prefer to use Extras.

  • getTargetNode(): Node
  • getTargetPath(): AnimationChannelTargetPath
  • isDisposed(): boolean
  • Returns a list of all properties that hold a reference to this property. For example, a material may hold references to various textures, but a texture does not hold references to the materials that use it.

    It is often necessary to filter the results for a particular type: some resources, like Accessors, may be referenced by different types of properties. Most properties include the Root as a parent, which is usually not of interest.

    Usage:

    const materials = texture
        .listParents()
        .filter((p) => p instanceof Material)
  • setExtras(extras: object): this
  • Updates the Extras object, containing application-specific data for this Property. Extras should be an Object, not a primitive value, for best portability.

  • setName(name: string): this
  • Sets the name of this property. While names are not required to be unique, this is encouraged, and non-unique names will be overwritten in some tools. For custom data about a property, prefer to use Extras.

  • setTargetNode(targetNode: Node): this
  • setTargetPath(targetPath: AnimationChannelTargetPath): this
Function symbol, f(📦) → 📦, where the argument and output are a box labeled 'glTF'.

Made by Don McCurdy TypeDoc documentation Copyright 2020 under MIT license