设置Nav Mesh参数
最后更新于
如果您点击Nav Mesh边界体积,您会注意到没有生成Nav Mesh的选项。实际上,一些参数在项目级别,而其他参数在地图级别。
让我们导航到世界大纲,您会发现场景中已经放置了一个RecastNavMesh-Default actor,如下面的屏幕截图所示:
事实上,当你拖拽一个导航网格边界体积时,如果地图没有默认的RecastNavMesh,系统会自动创建一个。如果我们点击它,就可以在详情面板中更改它的所有属性。
正如你所看到的,这里有很多默认值。这些值可以在项目设置(在导航网格选项卡下)中更改。让我们逐一分析每个部分,并尝试理解其中的主要概念。
显示设置
正如名称所示,这些设置与如何详细可视化我们生成的 Nav Mesh 相关。特别是,我们将能够看到生成的多边形、三角形以及多边形如何连接。我们将在第 12 章“AI - 导航、EQS 和性能分析调试方法”中详细讨论这些内容,届时我们将讨论调试工具:
生成设置
这些设置与导航网格的生成有关。通常,默认值已经足够好,因此只有在你知道自己在做什么的情况下才应该修改这些值。以下截图显示了这些设置:
要了解这些设置,最好的方法是先在一个示例地图中试用它们的参数,然后在您自己的地图中进行试用。之后,您需要检查这样做的结果(特别是使用在第12章“AI导航、EQS和性能分析调试方法”中介绍的视觉调试工具)。为了帮助您开始,让我们看看主要的设置:
瓷砖大小UU:此参数定义生成的多边形有多精细。较低的值意味着更精确的导航网格,包含更多的多边形,但生成时间较慢(并可能占用更多内存)。您可以通过在显示设置中启用“绘制三角形边”来查看此参数的影响,如前一张截图所示。
单元格高度:这决定了生成的单元格距离地面的高度(可能导致在不同高度连接区域,因此要小心)。
代理设置(半径、高度、最大高度、最大坡度、最大步高):这些设置特定于您的代理,应适当指定。特别是,这些是代理要穿越此导航网格所需的最小值。因此,导航网格将无法与具有比这更小值的代理一起使用,因为导航网格仅为满足这些要求的代理生成。这些设置对于为您的代理生成适当的导航网格非常有用,而不会在代理永远无法导航的区域上浪费资源。
最小区域面积:这会消除导航网格生成中的一些微不足道的伪影。
许多其余的设置是关于优化的,它们可能会让人不知所措,尤其是对于AI编程的新手。因此,我决定不在本书中包含这些细节。然而,一旦您对使用导航系统充满信心,您可以查看这些设置的工具提示并进行实验,以便了解它们的功能。
项目设置
值得一提的是,即使我们不详细讨论这些内容,也可以从项目设置中更改相同的导航设置;有一个特定的标签页用于此操作,如下面的图片所示:
值得注意的是,关于“代理”的最后一个选项卡。在这里,可以创建一个“支持的代理”数组,以便不同的代理可以有不同的方式来导航导航网格。例如,老鼠可能有与巨型巨魔非常不同的导航网格。实际上,老鼠也可以进入小洞,而巨魔不能。在这里,您将能够指定您拥有的所有不同种类的代理:
您不能直接指定角色将遵循哪种类型的代理,但是,基于角色移动组件(或一般的移动组件),一种代理被分配给角色/AI代理。
角色移动组件的设置
如我们在前一节中所看到的,代理(即其能力、形状等)在很大程度上影响了它在Nao网格中的导航方式。您将能够在角色移动组件中找到所有这些设置。
然而,这个组件超出了本书的范围,我们将不会看到它。