camera - libgdx 平铺 map 闪烁与最近过滤

标签 camera libgdx

当相机夹在玩家(一个 box2d-Body)上滚动时,我在平铺 map 上出现了奇怪的伪影。

在遇到这个问题之前,我对平铺贴图使用了线性过滤器,这可以防止这些奇怪的伪影发生,但会导致纹理渗色(我直接从 .tmx 文件加载平铺贴图,而不填充平铺图)。

但是现在我使用最近的过滤器来消除出血,但是当滚动 map 时(通过将凸轮夹在角色上行走),它看起来就像很多像素在周围闪烁。根据相机变焦值,闪烁结果可能会变得更好或更差。 但是,当我使用 libgdx-Utilities 中的“OrthoCamController”类(允许通过使用鼠标/手指平移来滚动 map )时,我根本没有得到这些工件。 我认为闪烁可能是由 box2d-Body 位置收到的错误相机位置值引起的。 我还应该在这里补充一件事:游戏实例在 1280*720 显示模式下运行,而我的游戏摄像头仅渲染 800*480。当我将游戏摄像头的渲染解决方案更改为 1280*720 时,我没有得到这些伪影,但瓷砖太小了。

有人遇到过这个问题或者知道如何解决这个问题吗? :)

最佳答案

我也遇到了类似的问题,发现这是由于相机位置的小数值太小造成的。

我认为可能发生的情况是tilemap渲染器中某些tile列/行的某种舍入。

我通过舍入到设定的精度来解决这个问题,如下所示:

camera.position.x = Math.round(player.entity.getX() * scalePosition) / scalePosition;

尝试使用各种值,但我通过使用图 block 大小作为scalePosition值来使其工作。

关于camera - libgdx 平铺 map 闪烁与最近过滤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18984955/

相关文章:

java - 首选项 Libgdx Java

process - LibGDX - 如何维护后台进程

java - LibGDX 将 BitmapFont 绘制到中间位置(spritebatch)

Android 相机横向到纵向方向问题

ios - 通过浏览器访问相机

java - libGDX 和 Eclipse - 找不到 tools.jar

java - libgdx 调整带边框的图像大小

ios - 打印标签时没有出现相机预览

android - 为什么 Camera.setParameters(Camera.Parameters) 在 Sony-Ericsson X10 和 Droid 上不起作用?

java - 相机 Intent 使 Android 应用程序不断崩溃