将数量庞大的敌人在多人游戏中处理的流场系统(自定义 NavMesh)已在进行中(WIP)

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

为了解决这个问题,我决定阅读一些技术文档!接着,我决定使用以下自定义解决方案:

  • 流场路径寻找: 基于 BFS 的网格一次为所有敌人提供方向向量。
  • Unity 任务系统: 所有东西(移动、分离、取样)都将在worker 线程上并行运行。
  • 批量射线检测: 使用射线命令来防止主线程崩溃。
  • 空间哈希表:使用 NativeParallelMultiHashMap 进行局部避免/分离。

这项工作仍在进行中,我已决定跳过ECS(实体组件系统),而是因为实施时间问题。但性能表现已经令人满意。

如果您有更多的建议,请告诉我。

如果您想查看详情,请前往Steam:riftbound survivor