AnimationAction.syncWith()
方法用于将另一个 AnimationAction
实例同步到当前的动画。这个方法会对两个动画实例的时间和权重进行相应地同步。
AnimationAction.syncWith( action: AnimationAction ) : AnimationAction
action
:需要同步的 AnimationAction
实例对象。返回当前 AnimationAction
实例对象。
同步两个动画 "animation1" 和 "animation2":
const mixer = new THREE.AnimationMixer( mesh );
const animation1 = mixer.clipAction( animationClip1 );
animation1.play();
const animation2 = mixer.clipAction( animationClip2 );
animation2.startAt( -1 ).play();
animation1.syncWith( animation2 );
在这个例子中,我们创建了一个 AnimationMixer
对象,并分别创建了两个 AnimationAction
实例对象:animation1
和 animation2
。我们使用 play()
方法播放了 animation1
和 startAt()
方法来设置 animation2
的起始时间,并使用 play()
方法播放了 animation2
。最后,我们通过调用 animation1.syncWith(animation2)
方法将 animation2
同步到了 animation1
。
AnimationAction.syncWith()
方法只对两个 AnimationAction
实例对象进行同步,不会对当前的 AnimationMixer
实例对象进行任何更改。AnimationAction.syncWith()
方法后,两个动画的时间和权重会相应地同步。如果您需要更精细的控制,请考虑手动调整这些值。