A-Frame: отключить в режиме AR - PullRequest
0 голосов
/ 29 мая 2020

Я новичок в A-Frame, поэтому не уверен, что здесь не хватает чего-то очевидного, но я пытаюсь создать сцену, в которой есть скайбокс для режима VR, но не для AR. Как я могу пометить элемент, чтобы он не отображался в режиме AR?

1 Ответ

0 голосов
/ 23 июля 2020

Похоже, что это функционально может быть в конечном итоге встроено.

См.: https://github.com/aframevr/aframe/pull/4356

Между тем, та же ссылка предоставляет некоторый код для этот. Взято непосредственно из приведенной выше ссылки (все кредиты на https://github.com/klausw), вы должны включить в свою голову следующий скрипт:

AFRAME.registerComponent('hide-in-ar-mode', {
    // Set this object invisible while in AR mode.
    init: function () {
        this.el.sceneEl.addEventListener('enter-vr', (ev) => {
            this.wasVisible = this.el.getAttribute('visible');
            if (this.el.sceneEl.is('ar-mode')) {
                this.el.setAttribute('visible', false);
            }
        });
        this.el.sceneEl.addEventListener('exit-vr', (ev) => {
            if (this.wasVisible) this.el.setAttribute('visible', true);
        });
    }
});

Затем просто измените свой элемент неба, чтобы включить hide-in-ar-mode, например,

<a-sky src='#sky' hide-in-ar-mode></a-sky>

Вы также можете найти эту функциональность, продемонстрированную здесь: https://xr-spinosaurus.glitch.me/

...