首页 > 解决方案 > Aframe togle 活动相机轨道控制覆盖第二个相机的外观控制

问题描述

我正在尝试使用 2 个按钮在 2 个摄像头之间切换。开关按预期工作完美无缺,但存在一个问题。活动相机是一个带有轨道控制组件的相机,第二个相机是一个带有 constrainToNavMesh 运动控制组件的“装备”。第一个相机工作正常,但在我切换后的第二个相机上,我只能移动(wasd)并且失去了相机旋转/平移但是当我再次切换到第一台相机时,平移动作实际上在第一台相机中生效。有人可以告诉我我做错了什么吗?

HTML
     <a-entity
        id="camara_principal"
        position="-5.481 -0.15 13"
        movement-controls="speed: 0.08; constrainToNavMesh: true">
        <a-entity
          id="camera_caminhar"
          camera="far: 2000;"
          position="0 1.6 0"
          look-controls="pointerLockEnabled: false">
            <a-entity
              id="camera_box"
              geometry="primitive: box; active: false;"
              position="0 -0.3 0"
              aabb-collider="objects: a-box; collideNonVisible: true;"
              scale="0.1 0.1 0.1"
              material="opacity:0">
            </a-entity>
          </a-entity>
        </a-entity>
        <a-entity
          id="camera_orbita"
          camera="far: 2000;"
          orbit-controls="autoRotate: true; autoRotateSpeed: 0.2;target:-1.5 0 -1; minDistance: 13; maxDistance: 35; initialPosition: 0 7 35; maxPolarAngle:87; minPolarAngle:60;">
        </a-entity>
Javascript

function CamaraSecundaria(){
      var secondCameraEl = document.querySelector('#camera_orbita');
      secondCameraEl.setAttribute('camera', 'active', true);
         };

    function CamaraPrincipal(){
      var firstCameraEl = document.querySelector('#camera_caminhar');
      firstCameraEl.setAttribute('camera', 'active', true);
          };
(EDIT)Added pause(); and play(); to parent entity but still no success!

function CamaraPrincipal(){
      var firstCameraEl = document.querySelector('#camera_caminhar');
      firstCameraEl.setAttribute('camera', 'active', true);
      document.querySelector('#camera_orbita').pause();
      document.querySelector('#camara_principal').play();
          };

谢谢!PS:这个错误只出现在手机版,PC端测试正常。这是项目的链接https://www.digimatter.pt/PT/2camaras_teste.html

标签: componentsaframe

解决方案


推荐阅读