提交 b2a2c2c0 编写于 作者: D Don McCurdy

Update docs for AnimationMixer and GLTFLoader.

上级 a9e99af0
<!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>
<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>
<div class="desc">
The AnimationMixer is a player for AnimationClip objects.
</div>
<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>
[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
</body>
</html>
......@@ -26,18 +26,18 @@
<h2>Example</h2>
<code>
// instantiate a loader
// Instantiate a loader
var loader = new THREE.GLTFLoader();
// load a glTF resource
loader.load(
// resource URL
'models/gltf/duck/duck.json',
// Function when resource is loaded
function ( object ) {
scene.add( object.scene );
}
);
// Load a glTF resource
loader.load( 'models/gltf/duck/duck.gltf', function ( gltf ) {
scene.add( gltf.scene );
gltf.animations; // Array&lt;THREE.AnimationClip&gt;
gltf.scene; // THREE.Scene
gltf.scenes; // Array&lt;THREE.Scene&gt;
gltf.cameras; // Array&lt;THREE.Camera&gt;
} );
</code>
[example:webgl_loader_gltf]
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册