【问题标题】:Unity 3D Nav Mesh Baking Didnt Cover All AreaUnity3d Navmesh 烘焙未覆盖所有区域
【发布时间】:2016-03-13 05:17:52
【问题描述】:

我目前正在研究一个游戏项目的寻路部分。我在烘焙导航网格时遇到了问题 - 它没有覆盖我想要使其适合步行的所有区域。

这是问题的图片:

如何使用导航网格覆盖整个区域,以便代理可以步行?

【问题讨论】:

    标签: unity3d artificial-intelligence path-finding navmesh


    【解决方案1】:

    不幸的是,Unity 基于 navmesh 的导航系统仅适用于与 y 轴对齐的地形——也就是说,世界的 y 轴用作向上向量,地形的坡度是使用它计算的作为参考。

    只有球形对象的顶部被认为是可行走的,因为如果将 y 轴视为向上矢量,则该地形其余部分的坡度大于导航网格烘焙设置所允许的坡度。

    解决此问题的唯一方法是编写自定义解决方案 - 但是,幸运的是 not the first one to pose such a question。普遍接受的方法是使用 A* algorithm 和自定义启发式函数(基于网格的顶点)来计算到目的地的最短路径。

    这里是a good tutorial on how to implement A* in Unity,它将让您了解基础知识,以便您了解如何将算法应用到环绕自身的地形。如果您不打算编写自己的解决方案,还有an existing A* asset for sale on the Unity Asset Store(也提供免费版本),这被认为是对 Unity 自己的导航系统的可靠改进,并且可以适用于非垂直地形,例如您的一些调整。

    希望这会有所帮助!如果您有任何问题,请告诉我。

    【讨论】:

      猜你喜欢
      • 2022-08-03
      • 1970-01-01
      • 1970-01-01
      • 2015-12-28
      • 1970-01-01
      • 2011-12-18
      • 1970-01-01
      • 2021-07-04
      • 1970-01-01
      相关资源
      最近更新 更多