我在编辑器里看到了这个错误
"SetDestination" can only be called on an active agent that has been placed on a NavMesh.以下是我在解决问题时尝试的步骤:
发布于 2017-09-30 03:11:24
扭曲Nav网格代理的位置有时会导致错误,特别是如果它已经从一个导航到另一个。
这是一个奇怪的错误,但它似乎检测代理是否不在导航网上,然后禁用并重新启用代理将修复这个问题(在我的例子中是这样)。
我已经在我的项目中解决了这个问题,当我出现偏差时,我会执行以下操作。
//use some existing reference to your NavMeshAgent
NavMeshAgent agent = PlayerController.instance.GetComponent<NavMeshAgent>();
//This will fire when you get the error you're describing.
if (!agent.isOnNavMesh)
{
Vector3 warpPosition; //Set to position you want to warp to
agent.transform.position = warpPosition;
agent.enabled = false;
agent.enabled = true;
}发布于 2018-04-03 04:52:00
我们可以使用导航组件,1,导航网格曲面,2,navmesh改性剂,3,navmesh修改体,4. navmesh脱离链接,通过这些组件,我们可以方便地连接脐网格和导航。
https://stackoverflow.com/questions/46495820
复制相似问题