【发布时间】:2016-11-17 23:21:58
【问题描述】:
我正在使用使用 ScreenViewport 的正交相机,“UnitsPerPixel”设置为 0.333f,当我移动播放然后停止时,相机按预期追上,但随后开始轻微晃动并在靠近时表现怪异(在最后几个像素)。我只是在使用基本的 lerp:
cam.position.lerp(new Vector3(entityToFocusOn.getLocation().getX() + ArchipeloClient.PLAYER_SIZE / 2, entityToFocusOn.getLocation().getY() + ArchipeloClient.PLAYER_SIZE / 2, 0), deltatime);
这是它的样子:
另一个:
总体来说,不是很流畅。
附:通常它比那个 gif 中的要糟糕得多。
【问题讨论】:
-
绘图时将字符位置四舍五入到最接近的整数。
-
这解决了播放器轻微移动的问题,但没有解决相机抖动问题,但看起来确实好一些。谢谢。
-
@Tenfour04 这不会解决它,因为 lerp 本身没有四舍五入到最接近的整数......这就是它在颤抖的原因。
-
@Hasan 它修复了角色与周围环境不同步的问题,但你是对的。在 lerping 之后,相机位置也需要四舍五入到最接近的游戏内像素大小的倍数。
标签: libgdx viewport orthographic linear-interpolation lerp