Answers:
您不需要碰撞检测,但是您将需要给敌人一些情报,并让他们避免相互撞撞。如果没有冲突检测,反正只会使您的敌人看起来很愚蠢-人们彼此躲避,他们通常不会发生冲突。
查找“植绒”以获取一些简单的行为。
基本思想是,事物应朝向玩家,但应远离封闭的障碍物(彼此隔墙,此类事物)。
通常,您要问的是参与者之间的动态回避。您可以看一下速度障碍:http : //gamma.cs.unc.edu/RVO/
Craig Reynold的网站上有一些有关转向和植绒行为的参考。它们的实现相对简单,但是可以产生一些可爱的紧急行为。
所有其他答案都会产生更好的结果,但是避免完全分组的最便宜(?)方法是添加一个随机向量,该向量可能是原始计算出的运动向量的25%,以便对象在一般的Blob组中反弹。这不会使事情完全脱离彼此,但是根据您要实现的目标,我发现这可能就足够了。如果您在对象周围绕圈,则对象仍然可以使用此方法进行分组,但是随着时间的流逝它们会逐渐扩散。
这是我几年前制作的一个小游戏,演示了此方法:http : //deleter.phatcode.net/index.php?page=projects&p=4
人们总是提出建议,因为这样做会产生很好的结果,但是对于您的特定目的,实施建议可能会过分杀伤力。过去,通过简单地在一个小圆圈内随机分配目标位置,我已经获得了很好的结果。
例如,对于我在Unity中构建的演示,我使用其命令Random.insideUnitSphere进行植绒排球