Я пытаюсь запустить анимацию ходьбы на модели gltf из animationClip. Цель состоит в том, чтобы воспроизводить анимацию ходьбы при нажатии клавиши со стрелкой вверх и продолжать ее работу, если удерживать клавишу нажатой. Для этого я играю анимацию всякий раз, когда первая анимация завершена, но анимация воспроизводится только один раз. Он запускает завершенное событие, но анимация отсутствует.
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, и проблема сохраняется даже при использовании нескольких анимаций и изменении различных свойств.