如何将“相机”移动到玩家所面对方向的左/右
Posted
技术标签:
【中文标题】如何将“相机”移动到玩家所面对方向的左/右【英文标题】:how to move a "camera" to left/right of the direction the player is facing 【发布时间】:2019-08-31 14:03:46 【问题描述】:你好,我正在制作一个 opengl fps 游戏。现在我正在做运动,我可以向前和向后移动,但不能向两侧移动。
我玩过它,但仍然无法解决问题。
newPos.z += (float)cos(yaw * M_PI / 180);
newPos.x += (float)sin(yaw * M_PI / 180);
newPos.z -= (float)cos(yaw * M_PI / 180);
newPos.x -= (float)sin(yaw * M_PI / 180);
这就是我前进和后退的方式。第一个让我前进,第二个让我后退。
【问题讨论】:
你试过修改 newPos.y 吗? 不,只有 x 和 z。 如果只增加 z 会发生什么?上升/下降?前进/后退? 如果只增加 x 会发生什么?上升/下降?前进/后退? 只是在 x 或 z 轴上移动。 【参考方案1】:您需要更加了解您的网格。 画出来,画一个带方向和位置的箭头。 画出您正在使用的角度“偏航”。 绘制“前锋”的 X 和 Z 元素。 查看三角公式的原因。
如果您不能这样做,请在您的代码中交换 x
和 z
看看会发生什么
【讨论】:
以上是关于如何将“相机”移动到玩家所面对方向的左/右的主要内容,如果未能解决你的问题,请参考以下文章