【问题标题】:How to make navigation meshes for pathfinding?如何制作用于寻路的导航网格?
【发布时间】:2015-01-12 05:48:47
【问题描述】:

我了解导航网格的工作原理,但我如何实际创建它们。

我的猜测是选择具有给定约束集的随机顶点,例如恒定 z 轴值使其平面化,选择不小于顶点之间指定最小间距的随机点,以便网格具有有限区域,等等。

如您所见,我对如何实现这一点知之甚少。创建导航网格对我来说似乎更手动。在 3D 环境中创建凸面网格的有效方法是什么?

【问题讨论】:

    标签: 3d path-finding navmesh


    【解决方案1】:

    实际上有很多方法。

    简而言之 - 获取可步行区域的轮廓并使用 Delaunay 三角剖分将它们分成三角形,如果高度变化或多边形太大,则添加更多点。

    查看 RecastNavigation 库(来自 github),它生成 NavMesh 作为其功能的一部分。

    【讨论】:

    • 非常感谢您的回复。在你提到之后,我一直在查看 RecastNavigation 库。我的理解是 Recast 制作导航网格,并且可以使用 Detour 进行寻路。由于 Recast Demo 是 Recast 的一个实现,可以t recast demo be used to generate a file with data of created navmesh written in it? I cant 找到一种方法来导出或保存创建的 navmesh。或者,我应该自己实现库来完成任务吗?
    • @user3124361:如果您只需要导航网格多边形,可以在生成导航网格后调用duDumpPolyMeshDetailToObj
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多