【发布时间】:2017-07-31 16:45:46
【问题描述】:
我正在使用物理来控制我的玩家和 AI NPC 的导航网格/代理和偶尔的玩家移动。我想知道在使用物理移动时,是否有办法将玩家的可行走区域限制为来自导航网格的精确烘焙网格,以便两者之间的可覆盖地面保持不变。
提前致谢
【问题讨论】:
标签: unity3d
我正在使用物理来控制我的玩家和 AI NPC 的导航网格/代理和偶尔的玩家移动。我想知道在使用物理移动时,是否有办法将玩家的可行走区域限制为来自导航网格的精确烘焙网格,以便两者之间的可覆盖地面保持不变。
提前致谢
【问题讨论】:
标签: unity3d
一种方法是获取导航网格中的实际网格并从中构造某种碰撞。你可以像这样得到实际的网格:
UnityEngine.AI.NavMeshTriangulation triangulatedNavMesh = UnityEngine.AI.NavMesh.CalculateTriangulation();
Mesh mesh = new Mesh();
mesh.name = "ExportedNavMesh";
mesh.vertices = triangulatedNavMesh.vertices;
mesh.triangles = triangulatedNavMesh.indices;
那么对于 C# 三角学计算(比如寻找凸包等)的建议是 NetTopologySuite
【讨论】: