Create animations by calling
An active animation derived from a glTF asset. An active animation is an
animation that is either currently playing or scheduled to be played due to
being added to a model's ModelAnimationCollection#add
. Do not call the constructor directly.
ModelAnimationCollection
. An active animation
is an instance of an animation; for example, there can be multiple active
animations for the same glTF animation, each with a different start time.
成员(属性)
animationTime : ModelAnimation.AnimationTimeCallback
If this is defined, it will be used to compute the local animation time
instead of the scene's time.
-
默认值:
undefined
The delay, in seconds, from
ModelAnimation#startTime
to start playing.
-
默认值:
undefined
readonly loop : ModelAnimationLoop
Determines if and how the animation is looped.
Values greater than
1.0
increase the speed that the animation is played relative
to the scene clock speed; values less than 1.0
decrease the speed. A value of
1.0
plays the animation at the speed in the glTF animation mapped to the scene
clock speed. For example, if the scene is played at 2x real-time, a two-second glTF animation
will play in one second even if multiplier
is 1.0
.
-
默认值:
1.0
The name that identifies this animation in the model, if it exists.
When
true
, the animation is removed after it stops playing.
This is slightly more efficient that not removing it, but if, for example,
time is reversed, the animation is not played again.
-
默认值:
false
When
true
, the animation is played in reverse.
-
默认值:
false
The event fired when this animation is started. This can be used, for
example, to play a sound or start a particle system, when the animation starts.
This event is fired at the end of the frame after the scene is rendered.
-
默认值:
new Event()
使用示例:
animation.start.addEventListener(function(model, animation) {
console.log(`Animation started: ${animation.name}`);
});
readonly startTime : JulianDate
The scene time to start playing this animation. When this is
undefined
,
the animation starts at the next frame.
-
默认值:
undefined
The event fired when this animation is stopped. This can be used, for
example, to play a sound or start a particle system, when the animation stops.
This event is fired at the end of the frame after the scene is rendered.
-
默认值:
new Event()
使用示例:
animation.stop.addEventListener(function(model, animation) {
console.log(`Animation stopped: ${animation.name}`);
});
readonly stopTime : JulianDate
The scene time to stop playing this animation. When this is
undefined
,
the animation is played for its full duration and perhaps repeated depending on
ModelAnimation#loop
.
-
默认值:
undefined
The event fired when on each frame when this animation is updated. The
current time of the animation, relative to the glTF animation time span, is
passed to the event, which allows, for example, starting new animations at a
specific time relative to a playing animation.
This event is fired at the end of the frame after the scene is rendered.
-
默认值:
new Event()
使用示例:
animation.update.addEventListener(function(model, animation, time) {
console.log(`Animation updated: ${animation.name}. glTF animation time: ${time}`);
});
定义的类型
A function used to compute the local animation time for a ModelAnimation.
参数名称 | 类型 | 描述信息 |
---|---|---|
duration |
number | The animation's original duration in seconds. |
seconds |
number | The seconds since the animation started, in scene time. |
返回值:
Returns the local animation time.
使用示例s:
// Use real time for model animation (assuming animateWhilePaused was set to true)
function animationTime(duration) {
return Date.now() / 1000 / duration;
}
// Offset the phase of the animation, so it starts halfway through its cycle.
function animationTime(duration, seconds) {
return seconds / duration + 0.5;
}