我正在关注本教程:http://www.opengl-tutorial.org/beginners-tutorials/tutorial-6-keyboard-and-mouse/,但我似乎无法以这种方式限制相机的垂直角度,因此我无法向后弯曲......如果我的相机偏航是156例如我环顾四周,偏航变为158度我的场景旋转3-4次。我如何限制它?
我像这样计算我的方向向量:
glm::vec3 direction(
cos(verticalAngle) * sin(horizontalAngle),
sin(verticalAngle),
cos(verticalAngle) * cos(horizontalAngle)
);
并像这样计算我的向量:
// Right vector
glm::vec3 right = glm::vec3(
sin(horizontalAngle - 3.14f/2.0f),
0,
cos(horizontalAngle - 3.14f/2.0f)
);
glm::vec3 up = glm::cross( right, direction );
然后将位置和向上传递给glm :: lookAt。 然而它没有按预期工作 - 我可以环顾四周并完美地移动,但水平角度与实际场景旋转不匹配。
更好的问题是:如何使horizontalAngle和verticalAngle与实际场景旋转相匹配。
编辑:我是个天才! :D我" cout"我以弧度为单位旋转......如果我用度数来衡量它,那就好了。