Three.V8

3D rendering engine using JavaScript as user script.

View on GitHub

<–Home

class AnimationMixer

Utility for linear blending of animation clips.

Name Description
Constructors  
AnimationMixer() Creates a new AnimationMixer.
Properties  
animations list of current added animation clips
currentPlaying list of current playing animation clips
Methods  
dispose() Dispose the unmanaged resource.
getAnimation Get an added animation clip by name.
getAnimations Get all added animation clips.
addAnimation Add an animation clip to the mixer.
addAnimations Add multiple animation clips to the mixer.
startAnimation Start an animation by name.
stopAnimation Stop an animation by name.
setWeights Set blending weigths for each animation currently being played.
getFrame Get the mixed animation frame of current time point.

Constructors

AnimationMixer()

AnimationMixer()

Creates a new AnimationMixer.

Properties

animations

.animations: Array

Read-only property for displaying the info of added animation clips.

.currentPlaying: Array

Read-only property for displaying the info of currently playing animation clips.

Methods

dispose()

.dispose(): undefined

Dispose the unmanaged resource.

getAnimation()

.getAnimation(name: String): Object

Get an added animation clip by name.

The returned object has the following properties:

.name: String

Name of the animation clip.

.duration: Number

Duration of the animation clip in seconds.

.morphs: Array

Optional. Morph tracks.

.morphs[i].name: String

Name of the morphable mesh.

.morphs[i].targets: Number

Number of morph targets of the morphable mesh.

.morphs[i].interpolation: String

Interpolation method: “STEP”, “LINEAR” or “CUBICSPLINE”

.morphs[i].times: Float32Array

Time stamp of each frame.

.morphs[i].values: Float32Array

Weight values of each frame.

.translations: Array

Optional. Translation tracks.

.translations[i].name: String

Name of the targeted node.

.translations[i].interpolation: String

Interpolation method: “STEP”, “LINEAR” or “CUBICSPLINE”

.translations[i].times: Float32Array

Time stamp of each frame.

.translations[i].values: Float32Array

Translation values of each frame.

.rotations: Array

Optional. Rotation tracks.

.rotations[i].name: String

Name of the targeted node.

.rotations[i].interpolation: String

Interpolation method: “STEP”, “LINEAR”

.rotations[i].times: Float32Array

Time stamp of each frame.

.rotations[i].values: Float32Array

Rotation values of each frame.

.scales: Array

Optional. Scale tracks.

.scales[i].name: String

Name of the targeted node.

.scales[i].interpolation: String

Interpolation method: “STEP”, “LINEAR” or “CUBICSPLINE”

.scales[i].times: Float32Array

Time stamp of each frame.

.scales[i].values: Float32Array

Scale values of each frame.

getAnimations()

.getAnimations(): Array

Get all added animation clips.

Each element of the returned array has the same structure as the return value of .getAnimation().

addAnimation()

.addAnimation(animation: Object): undefined

Add an animation clip to the mixer.

The animation object should have the same structure as the return value of .getAnimation().

addAnimations()

.addAnimations(animations: Array): undefined

Add multiple animation clips to the mixer.

Each element of the array should have the same structure as the return value of .getAnimation().

startAnimation()

.startAnimation(name: String) : undefined

Start an animation by name.

stopAnimation()

.stopAnimation(idx: Number) : undefined

Stop an animation by index.

setWeights()

.setWeights(weights: Array) : undefined

Set blending weigths for each animation currently being played.

getFrame()

.getFrame() : Object

Get the mixed animation frame of current time point.

The returned frame object has the following properties:

frame.morphs: Array

Optional. Morph state for morphable meshes.

frame.morphs[i].name: String

Name of a morphable mesh.

frame.morphs[i].weights: Array

Weight for each morph target of the mesh.

frame.translations: Array

Optional. Translation states for nodes.

frame.translations[i].name: String

Name of the targeted node.

frame.translations[i].translation: Vector3

Translation state of the node.

frame.rotations: Array

Optional. Rotation states for nodes.

frame.rotations[i].name: String

Name of the targeted node.

frame.rotations[i].rotation: Quaternion

Rotation state of the node.

frame.scales: Array

Optional. Scale states for nodes.

frame.scales[i].name: String

Name of the targeted node.

frame.translations[i].scale: Vector3

Scale state of the node.