Unity Navmesh 性能问题

Posted

技术标签:

【中文标题】Unity Navmesh 性能问题【英文标题】:Unity Navmesh Performance Issue 【发布时间】:2021-08-07 01:51:25 【问题描述】:

我目前正在使用 Unity Engine navmesh 组件进行火灾疏散项目。但是,当我增加代理的数量时,疏散的性能会显着下降。一些特工等待很长时间才能撤离。你知道我该如何解决这个 navmesh 代理性能问题吗?

【问题讨论】:

提供 gif 和图片。如果您认为这与它有关,请向我们展示您的代码。 【参考方案1】:

将您的 SetDestination 移动到 Start()

public Transform hedef;
NavMeshAgent agent;

void Start()

    agent = GetComponent<NavMeshAgent>();
    agent.SetDestination(hedef.position);

根据NavMesh 文档,您正在更新和重新创建代理的路径每个帧。除非您的 hedef 位置发生变化,否则我看不到这样做的理由,从我从您的用例中可以看出,它不应该发生变化。如果它确实发生了变化,则逐渐 ping 位置已更改的单位,因此当 Unity 重新计算其路径时,您不会有任何卡顿。

【讨论】:

谢谢我已经试过了,但仍有一些代理在等待移动。 @EnesDoğukanÖzgener 您有多少活跃的代理? 您是否遇到任何错误?是否有任何特工被从导航网中击落?他们要等多久才能搬家?毫秒、秒、分钟?他们只是被什么东西卡住了吗? 感谢您的帮助,我解决了我更改电脑电源和显卡设置的问题【参考方案2】:

我认为您需要提供更多详细信息,因为如果您的代理出门或类似情况,您可以使用列表或队列来先激活

【讨论】:

以上是关于Unity Navmesh 性能问题的主要内容,如果未能解决你的问题,请参考以下文章

在服务器端如何用JNI实现 NavMesh寻路

在服务器端如何用JNI实现 NavMesh寻路

在服务器端如何用JNI实现 NavMesh寻路

unity自带寻路Navmesh入门教程

unity自带寻路Navmesh入门教程

unity自带寻路Navmesh入门教程