DeviceOrientationControls

DeviceOrientationControls

我正在使用Three.js创建一个webVR应用程序。我已经实现了DeviceOrientationControls,但是现在想用Google硬纸板上的磁铁按钮在虚拟空间中移动。

我想要它,因此只要轻轻一按磁铁,摄像机便可以朝我看的任何方向运动。再次单击将停止运动。

这可能吗?如果是这样,我将如何实施呢,我完全陷入了困境。
我的假设是磁铁引起“喀哒”事件。但是,在检测到此喀哒声之后,如何使相机朝所看方向移动?

谢谢

最佳答案

使用DeviceOrientationControlsfreeze属性:

var controls = new THREE.DeviceOrientationControls(camera);
controls.connect();
controls.update();

window.addEventListener('click', function() { controls.freeze = !controls.freeze; }, false);


当然,只有在您使用与屏幕接触的Google Cardboard版本的情况下,此方法才有效。带有纯磁场开关的原始纸板将无法访问,因为没有暴露的磁力计API(除非您的设备的旋转传感器质量较差,否则首先使用DeviceOrientationControls是个坏主意)。

关于javascript - 在DeviceOrientationControls中设置摄像机运动,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35027330/

10-09 14:27