Aframe A帧:禁用<;a-sky>;在AR模式下

Aframe A帧:禁用<;a-sky>;在AR模式下,aframe,Aframe,我是a-Frame的初学者,所以不确定我是否遗漏了一些明显的东西,但我正在尝试创建一个场景,该场景有一个适用于VR模式的skybox,但不适用于AR。我如何标记元素,使其不会在AR模式下显示?从功能上看,该场景最终可能是内置的 见: 同时,相同的链接提供了一些代码来实现这一点。直接从上面的链接(全部归功于),您将在脑海中包含以下脚本: AFRAME.registerComponent('hide-in-ar-mode', { // Set this object invisible wh

我是a-Frame的初学者,所以不确定我是否遗漏了一些明显的东西,但我正在尝试创建一个场景,该场景有一个适用于VR模式的skybox,但不适用于AR。我如何标记元素,使其不会在AR模式下显示?

从功能上看,该场景最终可能是内置的

见:

同时,相同的链接提供了一些代码来实现这一点。直接从上面的链接(全部归功于),您将在脑海中包含以下脚本:

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);
        });
    }
});
然后只需修改天空元素,使其在ar模式下包含
隐藏
,例如

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

虽然此链接可以回答问题,但最好在此处包含答案的基本部分,并提供链接供参考。如果链接页面发生更改,则仅链接的答案可能无效-