我正在使用LibGDX(Java)制作游戏。
我需要相机跟随一个快速移动的角色。最简单的方法是编写以下代码:
this.getCamera().position.set(obj.x, obj.y, 0);
但是,是否有任何算法可以使这更加平滑?比如当相机不那么严格时,总是有点晚:角色快速向右移动,相机稍有延迟跟随,或者如果你突然出现在远处,相机不会立即瞬移到你身边,而是以最高速度前往,当接近时减速并再次找到你。
是否有任何libgdx库可以实现这一点或者有人有这样的经验?
我正在使用LibGDX(Java)制作游戏。
我需要相机跟随一个快速移动的角色。最简单的方法是编写以下代码:
this.getCamera().position.set(obj.x, obj.y, 0);
但是,是否有任何算法可以使这更加平滑?比如当相机不那么严格时,总是有点晚:角色快速向右移动,相机稍有延迟跟随,或者如果你突然出现在远处,相机不会立即瞬移到你身边,而是以最高速度前往,当接近时减速并再次找到你。
是否有任何libgdx库可以实现这一点或者有人有这样的经验?
尝试一些简单的事情,比如将距离的十分之一进行线性插值。它会出奇的好用。
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;