我使用DeviceOrientationControls附加并旋转Three.js中的对象
默认情况下,这些控件将旋转所有三个XYZ轴上的对象。
有没有办法禁用X和Y轴上的旋转,以便对象只响应Z轴上的旋转?
希望这一点足够清楚,如果你需要一个例子,请告诉我。感谢。
答案 0 :(得分:1)
For anyone interested, I was able to achieve this without using the Three DeviceOrientationControls library.
You can just add an event listener for 'deviceorientation' and feed the gamma rotation into the object rotation, like this:
window.addEventListener('deviceorientation', function(e) {
var gammaRotation = e.gamma ? e.gamma * (Math.PI / 180) : 0;
bottleGroup.rotation.y = gammaRotation;
});
答案 1 :(得分:0)
您可以通过在setObjectQuaternion(scope.object.quaternion,alpha,beta,gamma,orient)后面添加以下行来替换DeviceOrientationControls js;在this.update函数中:
this.object.rotation.x = 0;
this.object.rotation.z = 0;
然后你只能在y方向上进行相机运动。