在three.js中倾斜(“滚动”)相机

时间:2020-05-15 15:44:41

标签: three.js 3d

我正在Three.js中构建一个带有底座,支架,动臂和倾斜头的摄影机。除了能够使相机绕其本地Z轴“滚动”以外,其他所有功能都正常运行。我不确定相机对象的旋转,向上矢量和lookAt如何相互作用。 这是我当前的滚动代码:

      // rotate camera up vector away from default ([0, 1, 0]) around camera's local Z
      this.camera.up.copy(Object3D.DefaultUp)
      tmpVector3.set(0, 0, 1)
      this.camera.up.applyAxisAngle(tmpVector3, params.cameraRoll)
      this.camera.lookAt(this.cameraLookAt)

发生的事情是,即使在参数cameraRoll不变的情况下,当我为原点周围的圆周设置位置动画时,照相机也会疯狂地倾斜。基本上,我想围绕本地Z 旋转相机,并使用lookAt,但是从源头看,object3d.lookAt似乎取代了对象的旋转矩阵(并且实际上设置了{ {1}}无效)。我假设this.camera.rotation.z向量在相机的本地坐标系中,但这也许不是真的吗?

0 个答案:

没有答案