Как настроить ar.js, когда маркер находится в вертикальном положении - PullRequest
0 голосов
/ 13 декабря 2018

У каждого найденного примера есть маркер на столе или на полу.Но если я поставлю маркер на стену, он перевернет вращение так, чтобы высота была глубиной и так далее.Я знаю, что могу вращать объекты, но если я хочу использовать физику или, например, супер руки, ее элементы управления не вверх / вниз, а вперед / назад.Как изменить ось маркера?

1 Ответ

0 голосов
/ 18 декабря 2018

Я не знаю, есть ли у ar.js способ сделать это напрямую.

Вы можете использовать гироскоп в любом устройстве, которое вы используете (телефон, я полагаю), чтобы отслеживать ориентацию и соответственно изменять ориентацию модели.Например, вы можете опрашивать камеру на предмет ее ориентации с помощью компонента, сохранять эту ориентацию в состоянии и использовать это состояние для изменения ориентации модели, когда она отображается, чтобы она всегда была обращена к камере.

Ниже приведен пример того, о чем я говорю:

AFRAME.registerComponent('orientation-listener', {
  tick: function () {
    var cameraEl = this.el.sceneEl.camera.el;
    var cameraOrientation = cameraEl.getAttribute('rotation');

    // modify state to reflect current orientation of camera 
    // (cameraOrientation)
    // then have your model use that state to orient itself to the 
    // camera
  }
});
...