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
Three.js 旋转二维X轴和Y轴_Three.js - Fatal编程技术网

Three.js 旋转二维X轴和Y轴

Three.js 旋转二维X轴和Y轴,three.js,Three.js,我想旋转X轴和Y轴,如下图所示: 场景如下: !!在这种情况下,Z轴是3D上下轴,不具有任何重要性 在场景开始时,您是一个看着Y的3D角色。您可以使用以下代码沿X轴左右移动: camera.position.x += 1; OR camera.position.x -= 1; camera.rotation.z += 1; OR camera.rotation.z -= 1; //Normally Z is Y. 你也可以转动相机,朝另一个点看。这将是图2中的点Y1。我通过以下代码旋转摄影

我想旋转X轴和Y轴,如下图所示:

场景如下:

!!在这种情况下,Z轴是3D上下轴,不具有任何重要性

在场景开始时,您是一个看着Y的3D角色。您可以使用以下代码沿X轴左右移动:

camera.position.x += 1; OR camera.position.x -= 1;
camera.rotation.z += 1; OR camera.rotation.z -= 1; //Normally Z is Y.
你也可以转动相机,朝另一个点看。这将是图2中的点Y1。我通过以下代码旋转摄影机对象:

camera.position.x += 1; OR camera.position.x -= 1;
camera.rotation.z += 1; OR camera.rotation.z -= 1; //Normally Z is Y.
现在,当您尝试沿X轴移动时,仍将沿原始X1轴而不是新的X2轴移动

我的问题是,如何使对象沿着新的X2轴而不是原来的X1轴移动?

建议您了解对象空间和世界空间,您可以看看这本书


实际上,
camera.position.x+=1
使摄影机沿世界空间x轴平移,开始时,世界空间与对象空间相同,当使用
camera.rotation.z+=1
旋转摄影机时,对象空间已更改,要沿对象空间轴平移,应使用
camera.translateX(0.1)
。相机将在对象空间中平移。

Three.js使方向矢量化变得很容易。请参见此处接受的答案。谢谢,我如何将其设置为左/右模式?我似乎无法理解。。。