Javascript Three.js设备方向控件:限制或禁用XY旋转

Javascript Three.js设备方向控件:限制或禁用XY旋转,javascript,three.js,device-orientation,Javascript,Three.js,Device Orientation,我正在使用DeviceOrientationControl来附加和旋转Three.js中的对象 默认情况下,这些控件将在所有三个XYZ轴上旋转对象 有没有办法禁用X轴和Y轴上的旋转,以便对象只响应Z轴上的旋转 希望这足够清楚,如果你需要一个例子,请告诉我。谢谢。对于任何感兴趣的人,我能够实现这一点,而无需使用Three DeviceOrientationControl库 您只需为“deviceorientation”添加一个事件侦听器,并将gamma旋转输入到对象旋转中,如下所示: window

我正在使用DeviceOrientationControl来附加和旋转Three.js中的对象

默认情况下,这些控件将在所有三个XYZ轴上旋转对象

有没有办法禁用X轴和Y轴上的旋转,以便对象只响应Z轴上的旋转


希望这足够清楚,如果你需要一个例子,请告诉我。谢谢。

对于任何感兴趣的人,我能够实现这一点,而无需使用Three DeviceOrientationControl库

您只需为“deviceorientation”添加一个事件侦听器,并将gamma旋转输入到对象旋转中,如下所示:

window.addEventListener('deviceorientation', function(e) {
  var gammaRotation = e.gamma ? e.gamma * (Math.PI / 180) : 0;
  bottleGroup.rotation.y = gammaRotation;
});

您可以通过在setObjectQuaternion(scope.object.quaternion、alpha、beta、gamma、orient)后面添加下面的行来替换DeviceOrientationControl js;在这个.update函数中:

this.object.rotation.x = 0;
this.object.rotation.z = 0;
然后你只得到y方向的摄像机运动