使用lookAt()进行A帧相机旋转

时间:2017-03-06 18:12:58

标签: three.js aframe webvr

单词SO,

我试图将类似于“锚定外观”的东西拉到一起。 A-Frame中的组件 - 这个想法应该像 aframe-href-component aframe-look-at-component 的组合,其中点击链接到锚(<a href="#anchor">Link</a>)会让相机看到#34; id=""匹配锚点的实体。

我认为我有一个工作概念只是通过稍微修改一下看待组件,即轮询哈希更新和Object3D.lookAt()锚点,但似乎有一个问题我没有考虑到这可能来自我对欧拉/四元数等的不理解:

当相机的旋转被lookAt()更新时,它似乎失去了之前的旋转参考 - 拖动相机会产生奇怪的旋转结果,结果变得越来越陌生你旋转得越多调用lookAt()之前的相机

我在http://codepen.io/wosevision/pen/JWRMyK设置了一个基本的codepen,其中包含我要展示的组件版本;造成这种情况的原因是什么?正确的方法是什么?

1 个答案:

答案 0 :(得分:0)

你知道透视相机嵌套在一个组中,当你拖动鼠标来改变旋转时,组旋转发生了变化,但透视相机却没有。如果透视相机旋转不是(0,0,0),则旋转会很奇怪。

设置相机旋转非常困难,如果你真的想这样做,你需要深入了解相机控制的实现并进行修改。