Заставить объект вращаться с помощью камеры - Aframe - PullRequest
0 голосов
/ 14 марта 2019

Я пытаюсь сделать ролодекс-меню в Aframe следующим образом.

enter image description here

Вот пока глюк https://glitch.com/edit/#!/fourth-kitten

Я пытаюсь заставить объект вращаться в поле зрения камеры

   AFRAME.registerComponent('rotate-with-camera', {
    tick: function (){
      console.log(this)
      if(this.el.sceneEl.camera){
        const {rotation} = this.el.sceneEl.camera.parent
        const containerRotation = this.el.getAttribute('rotation')
        this.el.setAttribute('rotation', {...containerRotation, z: containerRotation.y -= rotation._y * 360})
      }
    }
    })

Однако я не могу получить хороший плавный поворот, как в этом примере, и я запутался в правильной математике, чтобы она оставалась перед камерой при свертывании или опускании, чтобы сделать следующий ряд анимированным в поле зрения.

Есть идеи?

1 Ответ

0 голосов
/ 14 марта 2019

Если вы хотите расположить его перед камерой, просто используйте parent - child DOM иерархия:

<a-camera>
    <a-entity position="0 0 -3></a-entity>
</a-camera>

Таким образом, ваше меню будет перед камерой и будет вращаться вместе с камерой.

Чтобы получить доступ к внешним элементам, вы можете немного переместить контейнер, когда камера смотрит вправо - влево

глюк здесь .

...