aframe - 动态改变相机位置

aframe - changing camera position dynamically

我是 aframe 的新手,正在尝试根据场景中的用户交互动态更改相机位置,以靠近对象并返回到之前的位置。

但不知何故这在 VR 模式下不起作用。在桌面浏览器中,相机正在根据需要改变位置。

HTML:

<a-entity id='cameraWrappers1' position="0 0 0" rotation="0 90 0">
            <a-camera position="0.001 1.85 -0.52" id="cameraPositions1">
                    <a-cursor id="cam2cursor" color="#f000f0" material="" raycaster="" cursor="" geometry="" position="-0.007 -0.04 -2.05" scale="3 3 3"></a-cursor>
            </a-camera>
        </a-entity>

脚本:

var m1HotSpot = document.querySelector("#cameraPositions1");
                    var position = m1HotSpot.getAttribute("position");
                    console.log("position:::::" + position.z)
                    //document.querySelector("#m-1").setAttribute('scale', '1 1; 1');
                    if(position.z == -0.52){

                        m1HotSpot.setAttribute("position",'0.001 1.85 -2.35');

                    }
                    else if(position.z == -2.35){

                        m1HotSpot.setAttribute("position",'0.001 1.85 -0.52');
                  }


    }

我试过解决方法

  1. 禁用轨道控制,改变位置再启用轨道控制

  2. 放置相机包装器并尝试更改包装器的位置在 VR 中仍然不起作用

我正在使用最新的 aframe 版本。如果您对如何实现此目标有任何想法,请告诉我。

我在下面的笔中放了一个演示。当您单击球体时,您将转换为靠近球体,再次单击它会返回到原始位置。这在桌面浏览器中有效,但在 VR 模式下的像素 chrome 浏览器中无效。 请帮忙。 DEMO replica

谢谢, 阿基

设置和更改包装器而非相机的位置:

var camPos = document.querySelector("#cameraWrappers1");

同样在 HTML 位置包装器而不是相机:

 <a-entity id='cameraWrappers1' position="0.001 1.85 -0.52">

这是一个使用上述解决方案(定位和移动相机包装器)的故障示例,并在具有 Chrome 的 Pixel phone 上进行了测试:http://glitch.com/edit/#!/nebulous-kidney

请记住,在移动设备中,光标在凝视/融合模式下运行,而不是在点击屏幕时运行