Three.js旋转除相机以外的所有内容

时间:2014-07-10 14:31:24

标签: javascript camera rotation three.js

我已经放弃尝试围绕我在Three.js场景中的相机进行轨道运行,并且现在决定恢复我在XNA中做的事情,只需旋转除相机之外的所有内容。

我放弃的原因是因为我不能让相机在所有轴上360度正确地进行轨道运动,它会在越过顶部或底部后开始反转。使用THREE.OrbitControls并不能解决这个问题,因为它只是限制在有问题的轴上旋转而不是解决问题。

我的问题是让其他轮换故事正常运转。我所做的是将除相机之外的所有物体放在另一个物体中#rot; rotSection"我现在只是旋转那个物体。这是有效的,但旋转始终根据旋转对象的相对(0,0,0)位置执行,旋转对象似乎总是停留在一个角落但是我想围绕我的世界中心旋转而不是在边缘周围。我试图将rotSection相对于场景居中,但它仍然围绕角落而不是它的中心旋转。知道如何在特定点周围旋转Object3D吗?

1 个答案:

答案 0 :(得分:0)

  

引擎根本不会移动船只。这艘船停留在原地和   引擎会围绕它移动宇宙。

Futurama的

3D中的摄像头在技术上从不旋转,其他一切都旋转并移动,以便将其带到摄像机的本地空间。为了做到这一点,你不必做任何技巧,这应该是3d引擎的核心,设置矩阵,设置着色器,并进行正确的转换。 Three.js会为你做这件事。

也许你应该研究四元数?特别是将axisAngle转换为quats。 THREE.OrbitControls不会做你想做的事。