navmesh层(仅限专业版)

2015-1-6 19:06| 发布者: 杨炎| 查看: 1444| 评论: 0|原作者: 蛮牛|来自: yzc88亚洲城脚本manual

摘要: navmesh 层(仅限专业版)导航系统的主要任务就是找出导航空间中两点之间的最佳路径。最简单的情况是最佳路径为最短路径。然而,在许多复杂环境中,某些区域比其他区域更难穿越(比如渡河比过桥更费时费力)。为模拟 ...

mesh" target="_blank" class="relatedlink">navmesh 层(仅限专业版)

导航系统的主要任务就是找出导航空间中两点之间的最佳路径。最简单的情况是最佳路径为最短路径。然而,在许多复杂环境中,某些区域比其他区域更难穿越(比如渡河比过桥更费时费力)。为模拟此种情况,unity 利用成本概念,将成本最低的路径定义为最佳路径 (optimal path)。为了管理成本,unity 推出了导航网格层 (navmesh layer)概念。每个标为导航网格静态 (navmesh static)的几何结构都属于导航网格层 (navmesh layer)。

寻路期间,不是比较潜在路径片段的长度,而是评估每个片段的成本。以特定片段的导航网格层 (navmesh layer) 成本来衡量每个片段的长度来完成此过程。请注意,当所有成本设置为 1 时,最佳路径与最短路径相同。

如需定义每个工程的自定义层

请转至编辑 (edit) -> 工程设置 (project settings) -> 导航网格层 (navmesh layers)

转至其中一个用户层,设置名称和成本

该名称将会在场景的任何位置使用,以识别导航网格层

成本表示横穿导航网格层的难度。1 为默认值,2.0 表示难度是 1 的两倍,而 0.5 表示难度是 1 的二分之一,等等。

这里有 3 个内置层

默认层 - 指定未另作说明的所有内容的成本

不可行走层 - 忽略成本

跳跃层 - 自动生成分离网格链接 (off-mesh link) 的成本

如需将自定义层应用到特定几何结构中

请在编辑器中选择此几何结构

上拉导航网格 (navigation mesh)窗口(窗口 (window) -> 导航 (navigation))

转至对象 (object)标签页,为该对象选择需要的导航层 (navigation layer)

如果在导航网格显示 (navmesh display)窗口中启用了显示导航网格 (show navmesh),则不同层应在编辑器中以不同颜色显示。

如需告知代理什么层可以穿越或什么层不可以穿越

请转至代理几何结构的navmeshagent组件

修改可行走的导航网格 (navmesh walkable)属性

请记得从脚本中设置代理的目的地属性

请注意:不建议将成本值设置为小于 1 的值,因为在此类情况中,基本寻路法不能确保最佳路径。

导航网格层的一个不错的应用示例:

您设计一条行人 (navmeshagent) 需要穿过的道路。

中间的人行道是其路过的首选之地

为该条道路的大部分设置高成本的导航网格层,而为人行道设置低成本的导航网格层。

这将使代理采用经过人行道的路径

高级寻路的另一个相关话题是分离网格链接

(返回导航与寻路)

上一篇:网络视图下一篇:导航网格障碍

相关阅读

文章点评
相关文章