用Java生成相机抖动

这其中的一个如何工作?

(如果你不知道我在说什么,那么就像在一个射击一个大枪的游戏中一样思考,而你的屏幕则反过来反弹。)

我一直在尝试一些不同的想法,但是没有一个能够完全工作,或者完全平滑。

使用此function设置相机位置:

x = -target.x + halfScreenW; y = -target.y + halfScreenH; 

我碰到的一个问题是,当将摄像机设置为向一个方向移动一定距离时,它将在另一个之前到达目标X或Y,导致它在一段时间内以直线行进。 我相信这个解决scheme是使用Bresenham线algorithm?

什么是最好的方式来实现相机震动?

编辑:相关 – 从爆炸现实相机/屏幕抖动

在二维(或三维)中应用相机抖动的最佳方法是将相机的原点附加到物理粒子,然后将物理粒子附加到具有严重阻尼弹簧的场景焦点上。 这允许通过向相机的物理粒子添加瞬时加速度(戳)来相当容易地向任何方向添加可变相机抖动。 作为一个额外的好处,相机的惯性会使其移动不同,以响应移动的焦点,这可以使焦点的加速感觉更酷。