LWJGL FPS相机旋转仅限于像素
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LWJGL FPS相机旋转仅限于像素相关的知识,希望对你有一定的参考价值。
我正在研究一个小型的fps项目进行测试,虽然我熟悉OpenGl(LWJGL)。我的问题是相机的旋转不是很平滑。它从像素到像素“跳跃”,这实际上非常明显。我怎样才能抚平呢? [链接到镜头:] https://www.youtube.com/watch?v=6Hgt1hXCKKA&feature=youtu.be
我的代码摘要:我将当前鼠标位置存储在Vector2f中;
我通过相机的相对运动(新位置 - 旧位置)增加偏航和俯仰;
我正在将鼠标移动到窗口的中心
我将当前位置(窗口中心)存储在旧位置Vector2f中
答案
一种可能的方法是将输入设备的(delta)输入(鼠标,键盘等)视为新摄像机位置或旋转角度的绝对值,但将其视为冲动或强制移动/旋转某个方向。然后,您可以简单地使用积分在一些时间差值dt
上以一些阻尼/摩擦系数更新摄像机位置/旋转,以减少摄像机的平移或角动量,使其快速停止。这将是一种有点物理模拟。另一种可能的方法是通过参数插值:每当您收到输入设备的(增量)输入时,您可以从中计算新的“所需目标位置或旋转角度”,然后在当前状态和目标状态之间进行插值以达到该目标。
以上是关于LWJGL FPS相机旋转仅限于像素的主要内容,如果未能解决你的问题,请参考以下文章