Невозможно установить angularVelocity для элемента в A-Frame - PullRequest
0 голосов
/ 04 июля 2018

У меня проблемы с поиском правильного способа установки угловой скорости для объекта в -рамке.

<script>
    AFRAME.registerComponent("cuberotator", {
      init: function () {
        console.log("trying to rotate the cube...");
        const theta = new THREE.Vector3(0, 20, 0);
        console.log (theta);
        this.el.setAttribute('angularVelocity', theta);
        //where is angularVelocity attribute?
      }
    });
  </script>

Я приложил пример CodePen на https://codepen.io/mcanterel/pen/LroRYz

Спасибо за любые идеи.

1 Ответ

0 голосов
/ 04 июля 2018

Если вы хотите повернуть куб вокруг определенной точки, вам нужно будет повернуть систему координат точек.

 <a-entity>
    <a-box></a-box>
 </a-entity>

Вы можете перемещать куб по своему усмотрению, и вращая объект-оболочку, куб будет вращаться вокруг своего начального центра.


Ваш компонент может установить поворот в функции tick (), которая вызывается в каждом кадре.

 tick: function() {
   let rot = this.el.getAttribute("rotation")
   rot.y += this.velocity // increase it on click or whenever
   this.el.setAttribute("rotation", rot)
  }
...