Использование jQuery для добавления компонентов в файл glTF в A-Frame?

У меня есть сцена A-Frame с тремя моделями GLTF.

Я пытаюсь программно вызвать анимацию, и я не уверен, что я делаю неправильно. Наверное, что-то очень очевидное, я признаю. Но после нескольких часов исследований и возни, должно быть что-то очень простое, что меня не устраивает.

Будь милым - мой ди-джей не совсем красив. Это огромная работа в процессе.

Проверьте проект Glitch для большего контекста, но это, вероятно, проблема, потому что я использую jQuery для хранения сущности (см. Ниже). Правильно? Это почему? Если так, что мне с этим делать?

function triggerClip(model, clipToPlay, clipDirection) {
  model.setAttribute('animation-mixer', {
    clip: clipToPlay,
    timeScale: clipDirection
  });
}

РЕДАКТИРОВАТЬ: После внесения изменений, предложенных Диего, анимация воспроизводилась, но я все еще получал предупреждения о том, что timeScale не распознается. Мне пришлось обновить версию дополнений A-Frame, чтобы она работала как положено.

1 ответ

Решение

jQuery оборачивает собственные элементы DOM в свою собственную структуру. Вы должны сделать следующее, чтобы получить к нему доступ:

 model[0].setAttribute('animation-mixer', {
    clip: 'step' + clipToPlay,
    timeScale: clipDirection
  });
Другие вопросы по тегам