Камера (<a-camera>
примитив или camera
компонент) является оберткой вокруг THREE.PerspectiveCamera . Он не обрабатывает вращение сам по себе.
Поворот обрабатывается, если не указано иное, компонентом look-controls
(который <a-camera>
имеет по умолчанию ).
В двух словах HUGE обновления ротации выполняются с использованием двух вспомогательных объектов - pitchObject
и yawObject
. Если вы хотите манипулировать ориентацией камеры - вам нужно изменить их вращение, например:
// reset the rotation
let controls = document.querySelector('a-camera').components['look-controls']
controls.pitchObject.rotation.x = 0
controls.yawObject.rotation.y = 0
Проверьте это в этой скрипке
Имейте в виду, что манипулирование «свободная» камера не считается хорошей практикой, так как это является большим неудобством, особенно в VR.
Вы можете отключить look-controls
и повернуть объект-оболочку вместо этого.
<!-- Rotate or animate this --/>
<a-entity>
<!-- instead of this --/>
<a-camera look-controls='enabled: false'>
</a-camera>
</a-entity>