Java-如何基于摄影机的旋转创建3D向量

Java-如何基于摄影机的旋转创建3D向量,java,vector,3d,Java,Vector,3d,我正在尝试基于相机的旋转创建一个向量,例如,如果相机向前看,它将是(注意:轴基于opengl轴),或者如果相机向右看,稍微向上看,它将是 我正在使用lwjgl库,因此joml是可用的。但是如果只是创建x,y,z浮点值比较容易的话,也可以 注意:相机仅使用x和y旋转,因为不需要z旋转,并且您不能仅基于这些旋转构造向量并使z旋转为0,这不起作用 用外行的术语来说,我想要一个向量,如果你把它加到一个玩家的位置上,它会朝着相机所面对的方向移动 编辑: joml中的正确位置为: x=m02 y=m12 z

我正在尝试基于相机的旋转创建一个向量,例如,如果相机向前看,它将是(注意:轴基于opengl轴),或者如果相机向右看,稍微向上看,它将是

我正在使用lwjgl库,因此joml是可用的。但是如果只是创建x,y,z浮点值比较容易的话,也可以

注意:相机仅使用x和y旋转,因为不需要z旋转,并且您不能仅基于这些旋转构造向量并使z旋转为0,这不起作用

用外行的术语来说,我想要一个向量,如果你把它加到一个玩家的位置上,它会朝着相机所面对的方向移动

编辑: joml中的正确位置为:

x=m02
y=m12
z=m22

您的前进方向应该正好是相机矩阵的z轴(第三列)。根据您使用的API,“camera matrix”可能是相反的,在这种情况下,使用第三行