当前位置: 首页 > 知识库问答 >
问题:

LWJGL FPS相机旋转限制为像素

田化
2023-03-14

虽然我熟悉OpenGl(LWJGL),但我目前正在进行一个小型fps项目的测试。我这里的问题是相机的旋转不是很平稳。它从一个像素跳到另一个像素,这实际上非常明显。我怎样才能把它弄平滑呢?[链接到片段:]https://www.youtube.com/watch?v=6Hgt1hXCKKA

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

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

我把鼠标移到窗户中央

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

共有1个答案

戈安翔
2023-03-14

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

 类似资料:
  • 我发现了一个非常有趣的问题。在拍摄相机照片后(我将设备保持在纵向模式,不旋转),给定的照片有时会旋转,但并不总是旋转。我知道,有些设备总是提供旋转的照片,但它可以使用exif或mediastore信息进行旋转。但在这种情况下,exif和mediastore表示方向为0,但图像是旋转的。最令人沮丧的是,这完全是随机发生的。代码非常简单: 有人见过这个问题吗?我在操作系统更新(4.1.1)后体验了Ga

  • 有没有人使用过这个打包的Xamrin版本?https://components.xamarin.com/view/emgucv-v3 我最近购买了这个许可证,并击中了与这里描述的完全相同的问题(旋转相机预览到肖像Android OpenCV相机)。一直在使用各种方法。 首先转屏方向从风景到肖像,但这只是以相同的旋转形式(90度)显示流。景观似乎是唯一一个我喜欢的作品。 我尝试使用相机对象旋转相机本

  • 在我的应用程序中,用户从相机捕获图像或从图库中选择图像,然后将其转换为pdf并上载到服务器,现在我的问题是,从相机捕获的图像在某些设备上旋转,我有代码尝试解决此问题,但它不起作用 任何建议或问题在哪里,没有错误代码或任何东西

  • 我试图创建一个第一人称相机。我从我的XNA项目中提取了一段代码,并试图将其转换为java(LWJGL)。 如果我移动鼠标,俯仰和偏航会增加/减少。在开始运行我的游戏时,它运行良好,但在一些动作后,我无法向下或向上看。如果我的位置是 性能良好的XNA代码: 所以我发现LWJGL和XNA在旋转矩阵方面有一些不同。 Java: 结果: {1.0 0.0 0.0 0 0.0}{0.0 0.3299931-

  • 当我捕获照片时,在某些设备中,它会以景观模式存储在某些设备中,它会存储肖像。我想让图像在肖像模式无论如何。为此,我尝试获取图像的数据,并相应地将其旋转到肖像模式。但在一些设备,如三星,VIVO的方向值得到“0”。我不知道该怎么处理那个值。如果我90,那么一些设备将解决此问题,而另一些设备将向上保存照片。 我从Xamarin那里得到这个主意。Andoid图像旋转。但不知怎的,我不能再继续下去了。会有

  • 我有一个相机旋转矩阵3x3,然后我用罗德里格斯函数从旋转矩阵中得到旋转矢量,但是它给出的结果像,但是OpenGL函数需要度数。我认为是归一化的,我应该把每个元素乘以360来得到度数。但是OpenCV和OpenGL之间也有坐标系的差异。我如何在OpenGL坐标系中获得度数的旋转矢量?