我试图在animationClip的gltf模型上运行步行动画。目的是每当按下向上箭头键时播放步行动画,并在按住该键时保持其运行。为此,只要第一个动画完成,我就播放动画,但是动画只播放一次。它触发完成事件,但是没有动画。
walkAction = mixer.clipAction(walkClip);
walkAction.loop = THREE.LoopOnce;
walkAction.enabled = true;
walkAction.paused = true;
walkAction.clampWhenFinished = true;
walkAction.play();
mixer.addEventListener('finished', restoreAnim);
function restoreAnim(event){
mixer.removeEventListener('finished', restoreAnim);
walkAction.play();
}
上面的代码是为了使角色保持移动,但是在第一次之后它会被锁定,但是完成的eventListener仍然会重复触发。
还有其他方法可以做到这一点。我正在使用mixamo中的行走动画,即使使用多个动画并更改了不同的属性,问题仍然存在。