Interpolation method.
Makes a copy of this property, with the same resources (by reference) as the original.
Copies all data from another property to this one. Child properties are copied by reference, unless a 'resolve' function is given to override that.
Dispatches an event on the GraphNode, and on the associated
Graph. Event types on the graph are prefixed, "node:[type]"
.
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.
Returns true if two properties are deeply equivalent, recursively comparing the attributes of the properties. Optionally, a 'skip' set may be included, specifying attributes whose values should not be considered in the comparison.
Example: Two Primitives are equivalent if they have accessors and materials with equivalent content — but not necessarily the same specific accessors and materials.
Returns an ExtensionProperty attached to this Property, if any.
Attaches the given ExtensionProperty to this Property. For a given extension, only one ExtensionProperty may be attached to any one Property at a time.
Lists all ExtensionProperty instances attached to this Property.
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.
Updates the Extras object, containing application-specific data for this Property. Extras should be an Object, not a primitive value, for best portability.
Times for each keyframe, in seconds.
Times for each keyframe, in seconds.
Interpolation mode: STEP
, LINEAR
, or CUBICSPLINE
.
Interpolation mode: STEP
, LINEAR
, or CUBICSPLINE
.
Returns true if the node has been permanently removed from the graph.
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.
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.
Values for each keyframe. For CUBICSPLINE
interpolation, output also contains in/out
tangents.
Values for each keyframe. For CUBICSPLINE
interpolation, output also contains in/out
tangents.
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)
Made by Don McCurdy. Documentation built with greendoc and published under Creative Commons Attribution 3.0.
Reusable collection of keyframes affecting particular property of an object.
Each AnimationSampler refers to an input and an output Accessor. Input contains times (in seconds) for each keyframe. Output contains values (of any Accessor.Type) for the animated property at each keyframe. Samplers using
CUBICSPLINE
interpolation will also contain in/out tangents in the output, with the layout:in1, value1, out1, in2, value2, out2, in3, value3, out3, ...
Usage:
// Create accessor containing input times, in seconds. const input = doc.createAccessor('bounceTimes') .setArray(new Float32Array([0, 1, 2])) .setType(Accessor.Type.SCALAR); // Create accessor containing output values, in local units. const output = doc.createAccessor('bounceValues') .setArray(new Float32Array([ 0, 0, 0, // y = 0 0, 1, 0, // y = 1 0, 0, 0, // y = 0 ])) .setType(Accessor.Type.VEC3); // Create sampler. const sampler = doc.createAnimationSampler('bounce') .setInput(input) .setOutput(output) .setInterpolation('LINEAR');
Reference