Воспроизведение того же анимационного действия на l oop без сброса позиции - PullRequest
1 голос
/ 02 мая 2020

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

...