我使用DeviceOrientationControls连接和旋转Three.js中的对象
默认情况下,这些控件将在所有三个XYZ轴上旋转对象。
有没有任何方法可以禁用X和Y轴上的旋转,以便对象只响应Z轴上的旋转?
希望这足够清楚,如果你需要一个例子的话,让我知道。谢谢。
发布于 2015-06-30 13:57:48
对于任何感兴趣的人来说,我能够在不使用三个DeviceOrientationControls库的情况下实现这一点。
您只需为“面向设备”添加一个事件侦听器,并将伽马旋转输入到对象旋转中,如下所示:
window.addEventListener('deviceorientation', function(e) {
var gammaRotation = e.gamma ? e.gamma * (Math.PI / 180) : 0;
bottleGroup.rotation.y = gammaRotation;
});发布于 2017-08-20 06:39:48
您可以通过在DeviceOrientationControls函数中添加setObjectQuaternion后面的一行( scope.object.quaternion、alpha、beta、gamma、orient )来替代this.update js:
this.object.rotation.x = 0;
this.object.rotation.z = 0;然后你的相机只朝y方向运动。
https://stackoverflow.com/questions/31138898
复制相似问题