А-анимация отбрасывает начальное вращение модели - PullRequest
0 голосов
/ 30 апреля 2018

Я использую AR (с маркером) и анимирую модель GLTF, чтобы вращаться на одной оси против часовой стрелки. Сначала поместите мой маркер на стол, и модель медленно поворачивается на 360 вокруг своей вертикальной оси:

https://codepen.io/germanviscuso/pen/rvVomR

(вы можете проверить фактическое отслеживание AR, если у вас есть hiro marker handy)

Теперь мне нужно поместить маркер на колоду (слайды), чтобы люди могли примерить стену, но нужно сохранить ту же анимацию (сначала вы видите лицо, затем затылок, а затем снова лицо), но исходную модель вращение (-90 0 0) (как вы можете видеть в демонстрационном примере выше) не учитывается a-animation. Казалось бы, координаты a-animation являются абсолютными, а не относительно начального поворота модели. Если я удаляю все a-animation, начальное вращение выглядит хорошо, но модель, конечно, статична.

Как мне это исправить? Как правильно применить ту же анимацию, но относительно начального поворота модели? (Мне нужно начать анимацию с rotation=(-90 0 0), повернуть по вертикальной оси (теперь параллельно маркеру) и закончить в том же месте)

1 Ответ

0 голосов
/ 02 мая 2018

Во-первых, я рекомендую использовать https://github.com/ngokevin/kframe/tree/master/components/animation - анимация устарела.

Вы можете установить анимацию от -90 0 0 и повернуть, например, до -90 360 0.

Или поместите вращение в родительский элемент.

<a-entity animation="property: object3D.rotation.y; from: 0; to: 360; loop: true">
  <a-entity gltf-model=""></a-entity>
</a-entity>
...