[英]How to get NavMesh polygons in Unity 3d
问题很简单,但是我在互联网上找不到答案。 如何获得导航网格的所有多边形,如何找到最接近的多边形,如何找到这些多边形的中心,如何找到与特定多边形相连的多边形,等等?
团结甚至允许这种员工吗?还是您需要再次从github下载内容或在资产商店中购买商品?
我发现这篇文章https://forum.unity.com/threads/accessing-navmesh-vertices.130883/,但它仅有助于查找顶点,而不能查找多边形或其他内容。
那么,有人知道吗?
解决方案 :
var navMesh = NavMesh.CalculateTriangulation();
Vector3[] vertices = navMesh.vertices;
int[] polygons = navMesh.indices;
来源: https : //docs.unity3d.com/ScriptReference/AI.NavMeshTriangulation-indices.html
导航网格三角剖分的三角形索引。 每个三角形包含3个整数。 这些整数引用顶点数组。
如果我没记错的话,应该是每个多边形中的点。
其他有用的方法 :
https://docs.unity3d.com/540/Documentation/ScriptReference/NavMesh.SamplePosition.html
从此来源:“在指定范围内找到NavMesh上的最近点。”
https://docs.unity3d.com/530/Documentation/ScriptReference/NavMesh.Raycast.html
“在NavMesh上的两个点之间跟踪一条线。bool如果射线在到达目标位置之前被终止,则为True。否则返回false。”
https://docs.unity3d.com/530/Documentation/ScriptReference/NavMesh.FindClosestEdge.html
“从NavMesh上的点定位最近的NavMesh边缘。”
您究竟需要什么导航数据?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.