首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Three.js设备定向控制:限制或禁用XY旋转

Three.js设备定向控制:限制或禁用XY旋转
EN

Stack Overflow用户
提问于 2015-06-30 12:55:05
回答 2查看 2.3K关注 0票数 1

我使用DeviceOrientationControls连接和旋转Three.js中的对象

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

有没有任何方法可以禁用X和Y轴上的旋转,以便对象只响应Z轴上的旋转?

希望这足够清楚,如果你需要一个例子的话,让我知道。谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-06-30 13:57:48

对于任何感兴趣的人来说,我能够在不使用三个DeviceOrientationControls库的情况下实现这一点。

您只需为“面向设备”添加一个事件侦听器,并将伽马旋转输入到对象旋转中,如下所示:

代码语言:javascript
复制
window.addEventListener('deviceorientation', function(e) {
  var gammaRotation = e.gamma ? e.gamma * (Math.PI / 180) : 0;
  bottleGroup.rotation.y = gammaRotation;
});
票数 1
EN

Stack Overflow用户

发布于 2017-08-20 06:39:48

您可以通过在DeviceOrientationControls函数中添加setObjectQuaternion后面的一行( scope.object.quaternion、alpha、beta、gamma、orient )来替代this.update js:

代码语言:javascript
复制
this.object.rotation.x = 0;
this.object.rotation.z = 0;

然后你的相机只朝y方向运动。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31138898

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档