123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154 |
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="utf-8" />
- <base href="../../" />
- <script src="list.js"></script>
- <script src="page.js"></script>
- <link type="text/css" rel="stylesheet" href="page.css" />
- </head>
- <body>
- <h1>[name]</h1>
- <div class="desc">
- The AnimationMixer is a player for animations on a particular object in the scene.
- </div>
- <p>
- Each available animation sequence is stored as an [page:AnimationClip AnimationClip], and
- playback of that clip is controlled with an [page:AnimationClip AnimationAction]. When multiple
- objects in the scene are animated independently, one AnimationMixer may be used for each object.
- </p>
- <h2>Example</h2>
- <p>
- When loading a 3D model that includes animation, many loaders also return a list of
- [page:AnimationClip AnimationClip] instances. Each clip represents a specific animation
- sequence, and may be played or paused individually.
- </p>
- <code>
- var mesh;
- // Create an AnimationMixer, and get the list of AnimationClip instances
- var mixer = new THREE.AnimationMixer( mesh );
- var clips = mesh.animations;
- // Update the mixer on each frame
- function update () {
- mixer.update( deltaSeconds );
- }
- // Play a specific animation
- var clip = THREE.AnimationClip.findByName( clips, 'dance' );
- var action = mixer.clipAction(clip);
- action.play();
- // Play all animations
- clips.forEach( function (clip) {
- mixer.clipAction(clip).play();
- } );
- </code>
- <p>
- Note that not all model formats include animation (OBJ notably does not), and that only some
- THREE.js loaders support [page:AnimationClip AnimationClip] sequences. Several that <i>do</i>
- support this animation type:
- </p>
- <ul>
- <li>[page:ObjectLoader THREE.ObjectLoader]</li>
- <li>THREE.BVHLoader</li>
- <li>THREE.FBXLoader</li>
- <li>THREE.FBXLoader2</li>
- <li>[page:GLTFLoader THREE.GLTFLoader]</li>
- <li>THREE.MMDLoader</li>
- <li>THREE.SEA3DLoader</li>
- </ul>
- <h2>Constructor</h2>
- <h3>[name]( [page:Object3D root] )</h3>
- <h2>Properties</h2>
- <h3>[property:Number time]</h3>
- <h3>[property:Number timeScale]</h3>
- <h2>Methods</h2>
- <h3>[method:AnimationAction clipAction]([page:AnimationClip clip], [page:Object3D optionalRoot])</h3>
- <div>
- clip -- AnimationClip <br />
- optionalRoot -- Object3D
- </div>
- <div>
- Return an action for a clip, optionally using a custom root target object.
- </div>
- <h3>[method:AnimationAction existingAction]([page:AnimationClip clip], [page:Object3D optionalRoot])</h3>
- <div>
- clip -- AnimationClip <br />
- optionalRoot -- Object3D
- </div>
- <div>
- Return an existing action.
- </div>
- <h3>[method:AnimationMixer stopAllAction]()</h3>
- <div>
- Deactivates all scheduled actions.
- </div>
- <h3>[method:AnimationMixer update]([page:Number deltaTimeMS]) </h3>
- <div>
- deltaTimeMS -- Time elapsed since last update in milliseconds.
- </div>
- <div>
- Updates the animation with deltaTimeMS.
- </div>
- <h3>[method:Object3D getRoot]()</h3>
- <div>
- Return this mixer's root target object.
- </div>
- <h3>[method:null uncacheClip]([page:AnimationClip clip])</h3>
- <div>
- clip -- AnimationClip
- </div>
- <div>
- Free all resources for a clip.
- </div>
- <h3>[method:null uncacheRoot]([page:Object3D root]) </h3>
- <div>
- root -- Object3D
- </div>
- <div>
- Free all resources for a root target object.
- </div>
- <h3>[method:null uncacheAction]([page:AnimationClip clip], [page:Object3D optionalRoot])</h3>
- <div>
- clip -- AnimationClip <br />
- optionalRoot -- Object3D
- </div>
- <div>
- Free all resources for an action.
- </div>
- <h2>Source</h2>
- [link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
- </body>
- </html>
|