You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

151 lines
5.1 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<base href="../../../" />
<script src="page.js"></script>
<link type="text/css" rel="stylesheet" href="page.css" />
</head>
<body>
<h1>[name]</h1>
<p class="desc">
An [name] is a reusable set of keyframe tracks which represent an
animation.<br /><br />
For an overview of the different elements of the three.js animation system
see the "Animation System" article in the "Next Steps" section of the
manual.
</p>
<h2>Constructor</h2>
<h3>
[name]( [param:String name], [param:Number duration], [param:Array tracks] )
</h3>
<p>
[page:String name] - a name for this clip.<br />
[page:Number duration] - the duration of this clip (in seconds). If a
negative value is passed, the duration will be calculated from the passed
`tracks` array.<br />
[page:Array tracks] - an array of [page:KeyframeTrack KeyframeTracks].<br />
[page:Number blendMode] - defines how the animation is blended/combined
when two or more animations are simultaneously played.<br /><br />
Note: Instead of instantiating an AnimationClip directly with the
constructor, you can use one of its static methods to create
AnimationClips: from JSON ([page:.parse parse]), from morph target
sequences ([page:.CreateFromMorphTargetSequence CreateFromMorphTargetSequence],
[page:.CreateClipsFromMorphTargetSequences CreateClipsFromMorphTargetSequences]) or from animation hierarchies
([page:.parseAnimation parseAnimation]) - if your model doesn't already
hold AnimationClips in its geometry's animations array.
</p>
<h2>Properties</h2>
<h3>[property:Number blendMode]</h3>
<p>
Defines how the animation is blended/combined when two or more animations
are simultaneously played. Valid values are *NormalAnimationBlendMode*
(default) and *AdditiveAnimationBlendMode*.
</p>
<h3>[property:Number duration]</h3>
<p>
The duration of this clip (in seconds). This can be calculated from the
[page:.tracks tracks] array via [page:.resetDuration resetDuration].
</p>
<h3>[property:String name]</h3>
<p>
A name for this clip. A certain clip can be searched via [page:.findByName findByName].
</p>
<h3>[property:Array tracks]</h3>
<p>
An array containing a [page:KeyframeTrack] for each property that are
animated by this clip.
</p>
<h3>[property:String uuid]</h3>
<p>
The [link:http://en.wikipedia.org/wiki/Universally_unique_identifier UUID]
of this clip instance. It gets automatically assigned and shouldn't be
edited.
</p>
<h2>Methods</h2>
<h3>[method:AnimationClip clone]()</h3>
<p>Returns a copy of this clip.</p>
<h3>[method:this optimize]()</h3>
<p>
Optimizes each track by removing equivalent sequential keys (which are
common in morph target sequences).
</p>
<h3>[method:this resetDuration]()</h3>
<p>
Sets the [page:.duration duration] of the clip to the duration of its
longest [page:KeyframeTrack].
</p>
<h3>[method:Object toJSON]()</h3>
<p>Returns a JSON object representing the serialized animation clip.</p>
<h3>[method:this trim]()</h3>
<p>Trims all tracks to the clip's duration.</p>
<h3>[method:Boolean validate]()</h3>
<p>
Performs minimal validation on each track in the clip. Returns true if all
tracks are valid.
</p>
<h2>Static Methods</h2>
<h3>[method:Array CreateClipsFromMorphTargetSequences]( [param:String name], [param:Array morphTargetSequence], [param:Number fps], [param:Boolean noLoop] )</h3>
<p>
Returns an array of new AnimationClips created from the morph target
sequences of a geometry, trying to sort morph target names into
animation-group-based patterns like "Walk_001, Walk_002, Run_001, Run_002...".
</p>
<h3>[method:AnimationClip CreateFromMorphTargetSequence]( [param:String name], [param:Array morphTargetSequence], [param:Number fps], [param:Boolean noLoop] )
</h3>
<p>
Returns a new AnimationClip from the passed morph targets array of a
geometry, taking a name and the number of frames per second.<br /><br />
Note: The fps parameter is required, but the animation speed can be
overridden in an `AnimationAction` via [page:AnimationAction.setDuration animationAction.setDuration].
</p>
<h3>[method:AnimationClip findByName]( [param:Object objectOrClipArray], [param:String name] )
</h3>
<p>
Searches for an AnimationClip by name, taking as its first parameter
either an array of AnimationClips, or a mesh or geometry that contains an
array named "animations".
</p>
<h3>[method:AnimationClip parse]( [param:Object json] )</h3>
<p>Parses a JSON representation of a clip and returns an AnimationClip.</p>
<h3>
[method:AnimationClip parseAnimation]( [param:Object animation], [param:Array bones] )
</h3>
<p>Parses the animation.hierarchy format and returns an AnimationClip.</p>
<h3>[method:Object toJSON]( [param:AnimationClip clip] )</h3>
<p>Takes an AnimationClip and returns a JSON object.</p>
<h2>Source</h2>
<p>
[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
</p>
</body>
</html>