我正在开发一个多人生存游戏,很快就意识到标准Unity NavMesh 无法处理数以千计的敌人。

为了解决这个问题,我决定阅读一些技术教程(感谢 AI 学习模式!)。然后,我决定采用以下自定义解决方案:

  1. 流场寻路:基于广度优先遍历的网格,可以一次获得所有敌人方向矩阵。
  2. Unity Job 系统:所有事情(移动、分离、采样)都在工作者线程上并行运行。
  3. 批次射线检测:使用射线命令来保持敌人在地面上,而不耗尽主线程。
  4. 空间散列:使用 NativeParallelMultiHashMap来实现局部避让和分离。

目前,这仍然处于施工当中,我决定跳过 ECS 以节省实现时间,但性能已经很坚固了。

如果您想同我讨论更多的建议,我是开放的。

Steam 中可以查看最新版本: Riftbound Survivors