Unity3d NavMeshAgent.isOnNavMesh becomes false in specific function

浪子不回头ぞ 提交于 2019-12-06 06:06:55

You have two instances of the PlayerMovement component referring to two different instances of the agent!

One instance is the one agent.isOnNavMesh is true and works properly in Start and Update. The other instance refers to a different agent where agent.isOnNavMesh is false but this is the one whose OnGroundclick is being called.

We can tell because GetInstanceID() returns different values in Update vs. OnGroundClick.

The solution here is to make sure that the OnGroundClick that is registered in the event system is the one in the correct instance of PlayerMovement!

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!