BufferGeometry
Object3D
Raycaster
Camera
CubeCamera
PerspectiveCamera
OrthographicCamera
StereoCamera
Clock
Curve
CurvePath
Path
Shape
ShapePath
ArrowHelper
AxesHelper
BoxHelper
Box3Helper
CameraHelper
DirectionalLightHelper
GridHelper
PolarGridHelper
HemisphereLightHelper
PlaneHelper
PointLightHelper
SkeletonHelper
SpotLightHelper
Light
PointLight
RectAreaLight
SpotLight
DirectionalLight
HemisphereLight
LightShadow
PointLightShadow
AnimationLoader
AudioLoader
BufferGeometryLoader
CompressedTextureLoader
CubeTextureLoader
DataTextureLoader
FileLoader
ImageBitmapLoader
ImageLoader
Loader
LoaderUtils
MaterialLoader
ObjectLoader
TextureLoader
LoadingManager
Material
Box2
Box3
Color
Cylindrical
Euler
Frustum
Interpolant
Line3
MathUtils
Matrix3
Matrix4
Plane
Quaternion
AnimationAction
AnimationClip
AnimationMixer
AnimationObjectGroup
AnimationUtils
keyframeTrack
PropertyBinding
PropertyMixer
BooleanKeyframeTrack
QuaternionKeyframeTrack
StringKeyframeTrack
Audio
AudioAnalyser
AudioContext
AudioListener
PositionalAudio

AnimationAction.fadeIn()

描述

该函数用于将当前的 AnimationAction 渐变进入,并控制动画播放的速度和结束。

语法

animationAction.fadeIn(duration: number, weight?: number): AnimationAction;

参数

  • duration:number,渐变进入的时间,单位为秒。
  • weight:number,渐变进入的权重值,默认为 1。

返回值

  • AnimationAction:返回当前的 AnimationAction 对象。

示例

const action = mixer.clipAction(animClip);
action.play();
action.fadeIn(2); // 在 2 秒内慢慢渐入

原理

在开始播放动画时,我们可以通过 AnimationAction.fadeIn() 方法设置动画的渐变进入。该方法会将动画的权重值从 0 到 1,渐进地播放动画,达到慢慢渐进动画的效果。

该方法的参数 duration 表示动画的渐变进入时间,单位为秒。我们可以通过该参数调整渐变进入的速率。

weight 参数则表示动画的权重值,在 AnimationMixer 中,我们可以通过改变动画状态的权重值,来控制动画的播放速度。参数值默认为 1,可以根据具体需求进行修改。

注意点

  • 在动画播放前需要先使用 AnimationAction.play() 方法,否则无法执行 fadeIn() 方法。
  • 如果使用了 fadeIn() 方法,那么也需要使用 fadeOut() 方法来进行淡出操作。
  • 多个动画之间可以同时使用 fadeIn() 方法,如果想选择某个动画来播放,则需要给该动画的权重值加大。