是否存在聚集的例子,其中群体包围并攻击目标,而不是像鱼群的觅食狂潮那样猛扑过来然后飞走?
我正在开发一款俯视射击游戏,我希望近战敌人蜂拥而至,包围敌人并持续攻击,同时更多的敌人从后面补上。我试图避免他们全部挤在一个点上,而聚集似乎是完美的解决方案,但所有的“移动到目标”的例子都显示他们移动到目标然后立即离开。
有什么想法吗?
回答:
据我所知,通用的聚集是通过以下加权平均值生成的:
- 对齐向量,它是你周围个体的对齐向量的平均值
- 分离向量,它是指向远离你周围个体的向量
- 凝聚向量,它是指向局部群体中心的向量
计算这些向量的方式有很多种,当赋予它们不同的权重时,会产生不同的行为。 将组合的、加权平均向量与当前速度向量结合的方式也不同。
如果我正确理解你的问题,你希望你的群体围绕一个中心点盘旋或飞舞。 为此,你创建了第四个向量,它是
- 目标向量,它是指向特定目的地点的向量
现在,你可能已经明白我要说什么了……你的群体的行为是每个向量上的权重的结果。 如果你放在目标向量上的权重相对于其他向量来说太小,那么你的群体将专注于聚集而不是攻击。
因此,假设我正确地概述了聚集,并且你以合理的方式编写了程序,你将需要尝试不同的权重组合,直到找到适合你需要的行为。