获取2D“像素”云跟随鼠标


10

我正在开发一个2D游戏,试图获得由数百个微小的立方体或光盘组成的“云”,以跟随我的鼠标光标而彼此不重叠。

但是,随着光盘数量的增加,使用物理引擎会导致性能变慢,并且碰撞检测通常比较困难。

有没有一种简便的方法可以针对这种情况优化引擎?如果没有,那么我会关闭引擎并编写自己的东西会更好吗?(在这里抓着稻草,但是:)是否有很好的资源或示例说明如何做到这一点?

Answers:


13

是的,为此使用物理引擎会有点过大。我建议您实现植绒算法。其基础是:

  • 分居:转向以避免拥挤当地的队友

  • 结盟:转向当地同伴的平均航向

  • 凝聚力:转向向当地羊群的平均位置移动

您可以在此处查看它的运行情况,并获得有关其实现的详细信息。您将进行一些细微的调整,包括向鼠标指针施加力。


1
如果您有很多无法自动处理的辫子,则可以使用虚拟动态网格或其他空间分区来提高植绒效率。有很多优化方法。
肖恩·米德迪奇
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.