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 性能问题的主要内容,如果未能解决你的问题,请参考以下文章