我想知道如何在android上使用opengl来解决这个问题。我有四元数相机,它描述了它的旋转。我想要一个对象f.e.立方体将处于相同的屏幕相对位置。因此,我想使用此四元数旋转它并围绕相机位置进行平移。这与游戏中的十字准线类似,但我不想将其用于叠加,而是用于3D对象的拖放功能。
答案 0 :(得分:0)
您正试图在给定距离处的四元数所代表的方向上找到一个点。为此,您不能像对矢量一样直接使用四元数。
您可以将四元数转换为矩阵,然后执行与下面相同的逻辑。
glm::mat4 rotate = glm::mat4_cast(rotationQuat);
glm::vec4 newPosition = rotate * vector;