我正在用OpenGL做一个游戏,用的是免费游戏。
我有一辆车,我可以用钥匙前后移动,然后相机跟踪它。现在,当我转动汽车( xz平面中的glRotate)时,我希望摄像机改变相机的位置(使用gluLookAt),所以它总是指向汽车的后面。
有什么建议我该怎么做?
发布于 2015-02-18 08:27:27
对于相机跟随,我使用对象变换矩阵。
glGetMatrix或其他什么的Z 移位旋转位置,使轴指向您想要查看的位置
我使用对齐对象在Z轴上向前移动,但并不是所有的网格模型都是这样的,因此(+/-)90 deg围绕x,y或z旋转以匹配以下内容:- `Z`-axis is forward (or backward depends on your projection matrix and depth function)
- `X`-axis is Right
- `Y`-axis is Up关于你的相机/屏幕坐标系(投影矩阵)。然后翻译成后面的位置
POV 旋转(可选)
如果您可以从前向稍微旋转摄像机视图(鼠标查看),那么就在这一步进行操作。
camera*=rotation_POV有关更多信息,请参见这里的understanding transform matrices,OpenGL逆矩阵计算在C++中包含在这里。
https://stackoverflow.com/questions/20184298
复制相似问题