如何限制垂直角度? FPS glm :: lookat相机?
我跟随本教程: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与实际的场景旋转相匹配。
编辑:我是一个天才! :DI“cout”以弧度表示我的旋转......如果我用度数表示它的话。
链接地址: http://www.djcxy.com/p/81753.html上一篇: How to restrict vertical angle? FPS glm::lookAt camera?