问题很简单,但我无法在互联网上找到答案。如何获得navmesh的所有多边形,如何找到最接近的多边形,如何找到这些多边形的中心,如何找到连接到特定多边形的多边形,等等?
团结甚至允许这种工作人员还是你需要再次从github下载东西或在资产商店购买一些东西?
我发现这篇文章https://forum.unity.com/threads/accessing-navmesh-vertices.130883/ 但它只能帮助找到顶点,而不是多边形或其他东西..
那么,有没有人知道这件事呢?
答案 0 :(得分:1)
解决方案:
var navMesh = NavMesh.CalculateTriangulation();
Vector3[] vertices = navMesh.vertices;
int[] polygons = navMesh.indices;
来源:https://docs.unity3d.com/ScriptReference/AI.NavMeshTriangulation-indices.html
navmesh三角测量的三角指数。 每个三角形包含3个整数。这些整数引用顶点数组。
如果我没弄错的话,应该是每个多边形中的点。
其他有用的方法:
https://docs.unity3d.com/540/Documentation/ScriptReference/NavMesh.SamplePosition.html
从此来源:“在指定范围内找到NavMesh上最近的点。”
https://docs.unity3d.com/530/Documentation/ScriptReference/NavMesh.Raycast.html
“跟踪NavMesh上两点之间的一条线。 bool如果光线在到达目标位置之前终止,则为真。否则返回false。 “
https://docs.unity3d.com/530/Documentation/ScriptReference/NavMesh.FindClosestEdge.html
“从NavMesh上的某个点找到最近的NavMesh边缘。”
您究竟需要navmesh数据到底是什么?