今天群里有兄弟问: “我看到navmeshagent里面有个方法叫什么获取网格边缘点的,我打算首先判断目标点在不在网格上。在的话正常逻辑,不在的话判断当前agent的位置有没有到那个边缘点 “ 。我想这样应该能解决这个问题。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| if (Input.GetMouseButtonDown(1)) { NavMeshHit hit; NavMesh.Raycast(transform.position, target.position, out hit, 1);
if (hit.hit) { NavMeshPath path = new NavMeshPath(); if (agent.CalculatePath(hit.position, path)) { var pos = path.corners[path.corners.Length - 1]; var o = GameObject.CreatePrimitive(PrimitiveType.Sphere); o.transform.localScale = Vector3.one * 0.1f; o.transform.position = pos; } } }
|
本文标题:解决NavmeshAgent寻路边界的判定
文章作者:Keyle
发布时间:2017-12-15
最后更新:2024-08-20
原始链接:https://vrast.cn/posts/e53ade9f/
版权声明:©Keyle's Blog. 本站采用署名-非商业性使用-相同方式共享 4.0 国际进行许可