如何让 boids 在 2d 游戏中追逐一个可移动的角色

How to make boids pursue a movable character in a 2d game

我在想什么是最简单的方法来让我的 boids 在自上而下的 2d 游戏中使用寻路算法追逐我的角色?


我在想我必须首先通过路径查找找到玩家的路径,获得所需的向量,然后从速度中减去该向量以获得转向值。

我在 Craig Reynolds 的网站上找到了“追踪和逃避转向行为”,但我不确定我的方向是否正确。

请注意 1999 GDC paper. There are also many open source implementations, such as this (in retrospect, surprisingly complicated) one in OpenSteer 中有更多细节。

智能体的 seek 行为简单地假定了朝向静态目标的所需速度,并定义了“转向力”,即该速度与其当前速度之间的 error/difference .

所以追求行为只需要估计当前目标位置。一个粗略的近似值通常就足够了,因为在这个动画帧/模拟步骤之后它被丢弃了。通常,转向行为使用恒定速度预测,只需将当前速度乘以某个时间间隔即可。对该间隔的有用估计是到采石场代理的距离除以我们当前的速度。

这如何与 (a) 追逐者成群,以及 (b) 基于寻路的模拟交互,将取决于您游戏的具体细节。可能你想在蜂群行为中加入一种小的追求“力量”,这样它就不会干扰蜂群的本性。