AnimationMixer.clipAction() 方法创建一个 AnimationAction,用来播放指定的动画片段 (AnimationClip)。
AnimationMixer.clipAction( clip, optionalRoot )
clip (AnimationClip):必需,要播放的动画片段。optionalRoot (Object3D):可选,用于确定动画的起始点。如果未提供,则使用 clip 中定义的动画起始点。返回新创建的 AnimationAction。
const mixer = new THREE.AnimationMixer( character );
const clip = THREE.AnimationClip.findByName( animations, 'dance' );
const action = mixer.clipAction( clip, character );
action.play();
AnimationMixer 可以控制多个 AnimationAction。clipAction 方法创建的 AnimationAction 可能不会立即开始播放。必须调用 play() 方法才能开始播放动画。AnimationAction 的参数可以通过对象字面量传递,例如 { loop: THREE.LoopRepeat, timeScale: 0.5 }。halt() 方法停止动画并重置到初始状态,通过 stop() 方法停止动画但不重置,通过 reset() 方法重置动画,以及通过 setEffectiveWeight() 方法设置动画权重。mixer 实例可以在每一帧 update() 中进行更新。可以通过 time 和 delta 参数指定时间的进度和时间流逝量。例如:mixer.update( clock.getDelta() );。