Aframe Camera Switch仅适用于非VR模式

时间:2018-09-12 17:09:06

标签: javascript html aframe webvr

现在坐在一个研究项目上,用Aframe构建一些场景。如果用户进入一扇门进入下一个场景,我会尝试在Aframe场景中的不同相机之间切换。我有以下两个摄影机,每个场景一个:

<a-entity id="cameraRig" position="10 4 20">
<a-entity id="head" position="0 2 0" camera="" look-controls="pointerLockEnabled:true">
<a-cursor far="30"></a-cursor>
    <a-entity position="0.1 -0.4 0"
      raycaster="objects: .selectable; far: 2"
      teleport-extras
      teleport-controls=
        "cameraRig: #cameraRig;
        teleportOrigin: #head;
        startEvents:starttouch;
        endEvents:endtouch;
        curveShootingSpeed:30;
        hitCylinderRadius:0.3;
        collisionEntities: #tele">
    </a-entity>
 </a-entity>
</a-entity>

这是我更改相机的脚本:

function Hell() {
 document.getElementById('scene1').setAttribute('visible', 'false');
 document.getElementById('hell').setAttribute('visible', 'true');

 var standartCam = document.querySelector('#head');
 standartCam.setAttribute('camera', 'active', false);

 var hellCamera = document.querySelector('#head2');
 hellCamera.setAttribute('camera', 'active', true);
 }

在我进入VR模式之前,开关一直有效,然后相机完全没有开关。

我试图为第一个CameraRig设置一个新位置,但是这导致了Teleport组件的错误,Camera跳到了应该移动到的对象下面。

我该如何使用它?感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

经过数小时的尝试和错误,我找到了解决方案。 我正在使用aframe.io/releases/0.8.0。 我切换到0.7.0,它起作用了。 它还适用于0.8.2。