旋转2D X和Y轴

时间:2017-03-03 21:18:32

标签: three.js

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

enter image description here

情景是这样的:

!!在这种情况下,Z轴是3D上下轴,并没有服务任何重要性!!

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

camera.position.x += 1; OR camera.position.x -= 1;

您也可以转动相机并朝另一个方向看。这将是图2中的Y1点。我通过以下代码旋转相机对象:

camera.rotation.z += 1; OR camera.rotation.z -= 1; //Normally Z is Y.

现在,当您尝试沿X轴移动时,您仍将沿原始X1轴而不是新X2轴移动。

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

1 个答案:

答案 0 :(得分:2)

建议您了解对象空间世界空间,您可以查看此书3D Math Primer for Graphics and Game Developmen

实际上,camera.position.x += 1使摄像机沿着世界空间X轴进行平移,在开始时,世界空间对象空间相同,当您旋转时相机camera.rotation.z += 1对象空间已更改,您想要沿着对象空间轴进行转换,您应该使用camera.translateX(0.1)。相机将在对象空间中进行翻译。