简介
使用 导航网格窗口(Navigation Mesh Window),指定场景中 导航网格(Navigation Mesh)的相关设置和区域的类型,并烘焙和构建当前打开的 游戏场景(Scene)的导航网格。
【Navigation_Mesh_Window001.png】
编辑器默认布局下,导航网格(Navigation Mesh)窗口创建在 SandMod 编辑器窗口的右侧,与 检视窗口(Inspector)同一个窗口页签中。点击查看大图。
显示导航网格窗口
您可以在 菜单栏(Menu)中点选 窗口(Window) > AI > 导航网格(Navigation Mesh) 显示导航网格窗口。
【Navigation_Mesh_Window002.png】
导航网格窗口构成
导航网格窗口将会显示以下内容:
【Navigation_Mesh_Window003.png】
- AI 代理属性示意图(AI Agent Attribute Diagram),用于可视化查看 AI 代理碰撞体尺寸,以及步行高度和可通行的最大坡度。
- 导航网格构建属性,烘焙和清除、显示导航网格的相关控件,以及设置适用于此导航网格的 AI 代理的相关属性。
- 生成网格连接(Generate Mesh Link),编辑自动生成 网格连接(OffMeshLink)的条件。
- 批量编辑(Bulk Edit),当选中场景中有 网格渲染器(MeshRenderer)组件(Component)的 游戏对象(Game Object)时,可编辑该对象是否用于烘焙导航网格以及是否自动生成网格连接。
- 烘焙区域(Baked Area),用于管理导航网格区域以及设置各个区域的寻路成本。
导航网格构建属性
导航网格构建属性为您提供定义在场景中使用的 AI 代理(AI Agent)类型的属性,以及基于该代理烘焙导航网格和清除该场景导航网格的指令按钮。
【Navigation_Mesh_Window004.png】
| 名称 | 描述 |
| 烘焙网格(Bake Mesh) | 管理该场景的导航网格的烘焙和清除。 · 烘焙,根据导航网格窗口设置的相关内容烘焙当前场景的导航网格, 并将导航网格信息储存于场景目录下与场景同名的文件夹中。 · 清除,清除当前场景的导航网格信息。 |
| 显示网格(Show Mesh) | 设置是否在 场景预览窗口(Scene)中显示导航网格。 勾选,在场景预览窗口显示导航网格。 不勾选,场景预览窗口不显示导航网格。 |
| 半径(Radius) | 设置导航网格适合 AI 代理的中心位置距离墙壁或障碍物、边缘的数值。 |
| 高度(Height) | 设置导航网格适合 AI 代理的高度。 |
| 步行高度(Step Height) | 设置 AI 代理可以攀爬、下落的最大台阶高度。 |
| 最大坡度(Max Slope) | 设置 AI 代理可以走多陡的坡道。在文本框中输入属性值或拖动滑块来调整该值。属性值范围是 0.01 到 60,单位是度数。 |
生成网格连接
生成网格连接(Generate Mesh Link)折叠条目的属性用于编辑自动生成 网格连接(OffMeshLink)的条件。
【Navigation_Mesh_Window005.png】
| 名称 | 描述 |
| 掉落高度(Drop Height) | 设置该属性的 AI 代理(AI Agent)可以跳下的最大高度。 |
| 跳跃距离(Jump Distance) | 设置该属性的 AI 代理可跨越的鸿沟的最大宽度值。 |
批量编辑
您可以在 层级窗口(Hierarchy)或者 场景预览窗口(Scene)选中有网格渲染器组件的游戏对象(只能单独选中,不能多选),随后即可在此属性折叠条目中编辑以下属性:
【Navigation_Mesh_Window006.png】
| 名称 | 描述 |
| 静态(Static) | 设置被选中的游戏对象是否为静态,设置此属性条目会同时更改游戏对象是否为静态的属性。 勾选,此游戏对象被定义为静态的游戏对象,该游戏对象的网格数据会作为烘焙 导航网格(Navigation Mesh)的依据。 不勾选,此游戏对象被定义为非静态的游戏对象。 |
| 生成网格连接(Generate Mesh Link) | 设置是否自动生成从被选中的游戏对象开始的 网格连接(OffMeshLink)。 勾选,在烘焙导航网格的时候会根据导航网格窗口的 掉落高度(Drop Height)和 跳跃距离(Jump Distance),自动生成一条或多条从被选中的游戏对象开始且结束点符合掉落高度和跳跃距离设定的网格连接。 不勾选,即使选中的游戏对象周边有符合掉落高度和跳跃距离属性设定的其他网格点,也不会自动生成网格连接。 |
| 区域(Area) | 设置选中的游戏对象的网格所属的烘焙区域类型。 |
烘焙区域
烘焙区域(Baked Area)属性条目所包含的属性用于设置场景中使用的不同区域类型的难度。您可以设置 13 种自定义类型和 3 种内置类型:可步行(Walkable)、不可步行(Not Walkable)和 跳跃(Jump)。
- 可步行(Walkable)是一种通用区域类型,指定该区域可以步行。
- 不可步行(Not Walkable)是一种阻止导航寻路的通用区域类型。当您想要将某个 游戏对象(Game Object)标记为障碍物,但又不想将 NavMesh 置于其之上时使用。
- 跳跃(Jump)是每个 网格连接(OffMeshLink)组件(Component)区域(Area)属性的默认值。
烘焙区域(Baked Area)属性条目所包含了以下可配置属性:
【Navigation_Mesh_Window007.png】
| 名称 | 描述 |
| 名称(Name) | 为自定义类型的区域定义名字,如果名字为空表示该项目中不会使用该索引的烘焙区域类型。 |
| 成本(Cost) | 设置 AI 代理(AI Agent)经过或者前往该区域所需要的成本。成本是经过所对应的区域类型的距离的倍数,具体的设置和使用方法请参阅 导航网格分区 章节。 |

勾选,在场景预览窗口显示导航网格。
不勾选,场景预览窗口不显示导航网格。
勾选,此游戏对象被定义为静态的游戏对象,该游戏对象的网格数据会作为烘焙 导航网格(Navigation Mesh)的依据。
不勾选,此游戏对象被定义为非静态的游戏对象。
勾选,在烘焙导航网格的时候会根据导航网格窗口的 掉落高度(Drop Height)和 跳跃距离(Jump Distance),自动生成一条或多条从被选中的游戏对象开始且结束点符合掉落高度和跳跃距离设定的网格连接。
不勾选,即使选中的游戏对象周边有符合掉落高度和跳跃距离属性设定的其他网格点,也不会自动生成网格连接。