【问题标题】:LWJGL FPS Camera rotation is limited to pixelsLWJGL FPS 摄像机旋转仅限于像素
【发布时间】:2018-10-10 16:57:43
【问题描述】:

我目前正在开发一个用于测试的小型 fps 项目,尽管我熟悉 OpenGl (LWJGL)。我的问题是相机的旋转不是很平滑。它从一个像素“跳跃”到另一个像素,这实际上非常明显。我怎样才能把它弄平? [视频链接:]https://www.youtube.com/watch?v=6Hgt1hXCKKA&feature=youtu.be

我的代码摘要: 我将当前鼠标位置存储在 Vector2f 中;

我通过相机的相对运动(新位置 - 旧位置)来增加偏航和俯仰;

我将鼠标移动到窗口的中心

我将当前位置(窗口中心)存储在旧位置 Vector2f 中

【问题讨论】:

  • 我真的不认为这是一个问题

标签: java opengl lwjgl


【解决方案1】:

一种可能的方法是将输入设备(鼠标、键盘等)的(增量)输入视为新相机位置或旋转角度的绝对值,而不是将它们视为移动/旋转的冲动或力在某个方向。然后,您只需使用一些时间差 dt 上的积分来使用一些阻尼/摩擦系数更新相机位置/旋转,以减少相机的平移或角动量,使其快速停止。这将是一个有点物理的模拟。 另一种可能的方法是通过参数插值:每当您收到输入设备的(增量)输入时,您都会从中计算出一个新的“所需目标位置或旋转角度”,然后在当前和目标之间进行插值状态随着时间的推移达到该目标。

【讨论】:

  • 好主意,我现在就试试!谢谢
猜你喜欢
  • 1970-01-01
  • 2011-10-14
  • 1970-01-01
  • 2015-09-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-12
相关资源
最近更新 更多