- 设置一个比较小的阈值,当前位置和targetPos之间距离小于该阈值,可认为到达终点。
- navMeshAgent.hasPath, 当有路径的时候为true,当到达终点或初始状态为false
- navMeshAgetn.path.corners.Length获得的是当前路径拥有的顶点数。当初始状态或者到达目标点后,获得的Length数为1;当>1的时候说明还没有到达终点。
需要注意的是:
当我们通过以下任一方式设置目标点后
**navMeshAgent.destination=XXX
navMeshAgent.SetDestination(XXX)**
navMeshAgent.path.corners和navMeshAgent.hasPath都不会立即刷新。必须等待一帧后才会刷新。因此使用法二或者法三进行判定的时候要特别注意。
Unity寻路判定技巧
本文介绍了在Unity中实现角色寻路到达目标位置后的判定方法,包括如何设置阈值判断是否到达终点,以及如何利用navMeshAgent组件的hasPath属性和path.corners.Length属性来判断路径状态。
3596

被折叠的 条评论
为什么被折叠?



