【发布时间】:2015-06-05 21:18:23
【问题描述】:
我在 Libgdx 中创建了一个基于等距图块的游戏。我使用的纹理是 64x64 并使用 TexturePacker 打包到 TextureAtlas 中。然后将它们绘制到屏幕上。然而,在 64x64 纹理的像素化边缘移动时,它们会闪烁并且扭曲,如下图所示。我已经使用了纹理打包器中所有可用的过滤器,您可以在下面看到线性和最近过滤器的结果。除了闪烁之外,线性滤镜还为纹理添加了黑色轮廓。如果不是因为相机移动时闪烁,我会很好。
图块应如何显示:
线性过滤(可以清晰看到黑线扭曲):
最近过滤(更难看到,但像素化线不直):
最容易发现它的地方是棕色立方体的顶部和底部。失真发生在不同的地方,具体取决于相机的移动(这会导致闪烁)。
有人知道是什么原因造成的,或者有可能的解决方案吗?我不确定是否需要任何代码 sn-ps。
还值得一提的是,相机设置为 windowHeight/ppm (ppm = 64) 和 windowWidth/ppm,然后将纹理绘制到投影矩阵设置为 camera.combined 的批次上。
编辑:以某种方式将窗口高度从 800 降低到 710(最近)会更好:
【问题讨论】:
标签: java libgdx filtering isometric texturepacker