Некорректная ориентация с начальным поворотом камеры в Aframe 0.8 - PullRequest
0 голосов
/ 15 октября 2018

До Aframe 0.8 вы могли бы сделать начальный поворот камеры.Теперь вы не можете, и вместо этого вам предлагается настроить камеру (внешнюю a-сущность) и задать ей положение и вращение.Проблема в том, что теперь ваше движение и ориентация вращения не в той плоскости.Вы больше не двигаетесь вдоль пола сцены, а пола, основанного на новом вращении камеры.В версии 0.7 начальное вращение вашей камеры не влияло на плоскость вашего движения.

Ссылка на дополнительную информацию о решении: https://github.com/aframevr/aframe/issues/3462

Работа: https://glitch.com/~aframe-0-7-camera-rotation

  <a-camera position="3 -2 0" rotation="30 45 0"></a-camera>

Не работает: https://glitch.com/~aframe-0-8-camera-rotation

  <a-entity position="3 -2 0" rotation="30 45 0">
    <a-camera></a-camera>
  </a-entity>

(нажмите вперед в обоих направлениях и увидите другую плоскость движения)

Каков подходящий способ получить то же поведение, что и раньше?

1 Ответ

0 голосов
/ 15 октября 2018

Это может быть хакерским, но, похоже, работает:

Когда на ПК - элементы управления внешним видом (встроенные в примитив камеры) вращают камеру на основе двух объектов: yawObject и pitchObject.Фрагмент исходного кода здесь .

Если вы попытаетесь установить значения поворота для этих объектов - похоже, он работает без какого-либо вреда (каким-либо образом ограничивая камеру).

var el = document.querySelector("a-camera")
el.components["look-controls"].pitchObject.rotation.x = 0.7
el.components["look-controls"].yawObject.rotation.y = 0.8

Проверьте это в моей скрипке

...