如何使光滑的相机遵循算法



我正在用libgdx(java)制作游戏。

我需要相机跟随快速移动的字符。最简单的方法就是写这篇文章:

this.getCamera().position.set(obj.x, obj.y, 0);

但是,是否有任何算法可以使其更平滑?就像相机不那么严格时,总是有点晚:角色快速正确,相机稍有延迟,或者如果您突然出现在某个地方,相机不会立即传送,而是在它的最高速度上传送靠近它会减慢一点,然后再次找到您。

有没有这样做的libgdx libs?

尝试简单的东西,例如十分之一的距离。它的效果非常好。

float lerp = 0.1f;
Vector3 position = this.getCamera().position;
position.x += (Obj.x - position.x) * lerp * deltaTime;
position.y += (Obj.y - position.y) * lerp * deltaTime;

看一下Aurelion Ribon的Java Universal Tween Engine。这可以执行插值,并具有几个宽松的方程式,我认为这会让您想要的东西。它还具有其他高级功能,例如航向和将某些动作链接在一起以获得其他有趣的效果。

您的游戏逻辑可以检查角色是否快速移动或在位置方面有步骤更改。为此,将当前的相机位置转换为补间发动机,然后将其接管 - 顺利放大到角色的当前位置。

最新更新