如何解决对于在动态游戏场上具有大量AI的游戏,哪种导航方法将是性能最高且最灵活的?
我不确定100%在决定是否使用Unity的NavMesh与高级路径算法(例如HPA *或类似方法)时重要的因素。考虑以下机制时,使用Unity的NavMesh与滚动我自己的算法有什么关系?
- 基于网格的实时构建。
- 大量的AI,友好,敌对,中立。进入数百个。并非一次都在屏幕上可见,但是运动场会很大。 AI遵循层次结构。基本上,AI实体会执行彼此发出命令,接收命令并相互执行的任务。这样一来,就可以在单个单元上执行高级路径设置,从而将粗略的方向传递给其他人,以便其他人可以开始较低级别的路径设置以节省性能。
- 世界很有可能被程序化。我想使用无限proc-gen,但是我认为这超出了范围。我不打算让地平面在实际高度方面变化很大,而只是放置在上面的物体。
- 玩家和AI实体在运行时都会动态地添加和删除环境中的内容。
我已经阅读了一些有关NavMesh如何不能很好地处理运行时更改的文章,但是看到的教程/商店资产与此相反。也许我也可以结合使用方法?路径将花费大量时间,因此在此提出的任何建议将不胜感激。
解决方法
有很多解决方案。对于单个答案来说,这太过复杂了,但是这里有一些关键字值得研究:
- 群体寻路
- 潜在领域
- 植绒算法
- Boids
- 避免碰撞
您使用哪种设备取决于一次要移动多少个单元,它们是要移动到同一位置还是不同位置,以及如果多个设备要移动到同一位置,则您希望它们如何表现 (例如,他们是否应该有意避免彼此碰撞?当一个人被锁死时采取其他路线?还是所有人都愚蠢地塞进同一个走廊?)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。