繁体   English   中英

如何在Unity 3d中获取NavMesh多边形

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM