Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/412.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 始终在three.js中向上旋转对象_Javascript_Three.js_Rotation - Fatal编程技术网

Javascript 始终在three.js中向上旋转对象

Javascript 始终在three.js中向上旋转对象,javascript,three.js,rotation,Javascript,Three.js,Rotation,我不擅长三维计算,我需要帮助 我有一个地球,在我的场景中是一个球体,我使用OribitControl旋转它,实际上OribitControl旋转相机 我需要一个函数,可以让地球旋转起来,不管相机的位置如何 问题是,我现在的轮换是: earth.rotation.x -= rad 如果相机处于初始位置,这会使地球向上旋转,但如果相机旋转180度,此旋转up功能实际上会使地球向下旋转 如何实现这个功能?谢谢我自己找到了一个解决方案: function rotateUp (rad) { cons

我不擅长三维计算,我需要帮助

我有一个地球,在我的场景中是一个球体,我使用OribitControl旋转它,实际上OribitControl旋转相机

我需要一个函数,可以让地球旋转起来,不管相机的位置如何

问题是,我现在的轮换是:

earth.rotation.x -= rad
如果相机处于初始位置,这会使地球向上旋转,但如果相机旋转180度,此旋转up功能实际上会使地球向下旋转


如何实现这个功能?谢谢

我自己找到了一个解决方案:

function rotateUp (rad) {
  const v = new THREE.Vector3()
  v.setFromMatrixColumn(camera.matrix, 0 )
  v.multiplyScalar(-rad)
  earth.rotation.x += v.x
}