Version: 2017.1
导航网格构建组件
导航网格修改器 (NavMesh Modifier)

导航网格表面 (NavMesh Surface)

The NavMesh Surface component represents the walkable area for a specific NavMesh Agent type, and defines a part of the Scene where a NavMesh should be built. It is not in the Unity standard install; see documentation on high-level NavMesh building components for information on how to access it.

要使用导航网格表面组件,请导航至 GameObject > AI > NavMesh Surface。此操作会创建一个附加了导航网格表面组件的空游戏对象。一个场景可以包含多个导航网格表面。

您可以将导航网格表面组件添加到任何游戏对象。当您想要使用游戏对象管控层级视图来定义哪些游戏对象对导航网格有影响时,这非常有用。

A NavMesh Surface component open in the Inspector window
A NavMesh Surface component open in the Inspector window
属性 功能
Agent Type 使用导航网格表面的导航网格代理类型。用于烘焙设置以及在寻路期间将导航网格代理与正确的表面相匹配。
- Humanoid
- Ogre
Collect Objects 定义要用于烘焙的游戏对象。
- All – 使用所有激活的游戏对象(这是默认选项)。
- Volume – 使用与包围体重叠的所有激活状态游戏对象。
- Children – 使用所有充当导航网格表面组件的子项的激活状态游戏对象。
Include Layers Define the layers on which GameObjects are included in the bake. In addition to Collect Objects, this allows for further exclusion of specific GameObjects from the bake (for example, effects or animated characters).
This is set to Everything by default, but you can toggle following options on (denoted by a tick) or off individually:
- Nothing (automatically unticks all other options, turning them off)
- Everything (automatically ticks all other options, turning them on)
- Default
- TransparentFX
- Ignore Raycast
- Water
- UI
Use Geometry 选择用于烘焙的几何体。
- Render Meshes – 使用渲染网格和地形中的几何体。
Physics Colliders – 使用碰撞体和地形中的几何体。此选项与 Render Meshes 选项相比,代理可以移动到更接近环境物理边界的边缘。

使用导航网格表面组件的主要设置可以大范围过滤输入几何体。使用导航网格修改器 (NavMesh Modifier) 组件可以微调 Unity 针对每个游戏对象处理输入几何体的方式。

烘焙过程会自动排除具有导航网格代理 (NavMesh Agent) 或导航网格障碍物 (NavMesh Obstacle) 的游戏对象。这些游戏对象是导航网格的动态用户,因此不参与导航网格构建。

Advanced 设置

导航网格表面 (NavMesh Surface) 的 Advanced 设置面板
导航网格表面 (NavMesh Surface) 的 Advanced 设置面板

在 Advanced 设置部分可自定义以下附加参数:

属性 功能
Default Area 定义构建导航网格时生成的区域类型。
- Walkable__(这是默认选项)
-
Not Walkable
-
Jump__
使用导航网格修改器组件可以更详细地修改区域类型。
Override Voxel Size 控制 Unity 处理导航网格烘焙的输入几何体的准确程度(这是速度和准确度之间的权衡)。选中复选框可启用该属性。默认情况下会取消选中该复选框(禁用)。
每个代理半径 3 个体素(每个直径 6 个)允许捕获狭窄的通道(例如门),同时保持快速烘焙。对于大型开放区域,每个半径使用 1 或 2 个体素可加快烘焙速度。室内的密集点更适合较小的体素,例如每个半径 4 到 6 个体素。每个半径超过 8 个体素通常不会进一步带来好处。
Override Tile Size 为了使烘焙过程并行执行且提高内存效率,场景将分区进行烘焙。导航网格上可见的白线是区块边界。
默认区块大小为 256 个体素,这种大小在内存使用和导航网格碎片之间提供了良好的折衷。
要更改此默认区块大小,请选中此复选框,然后在 Tile Size 字段中输入您希望 Tile Size 包含的体素数。
区块越小,导航网格就越碎片化。这种情况下有时会导致非最佳路径。导航网格雕刻也基于区块进行。如果有很多障碍物,通常可以通过减小区块大小(例如大约 64 到 128 个体素)来加速雕刻。如果您计划在运行时烘焙导航网格,请使用较小的区块大小以使最高内存使用率处于较低水平。
Build Height Mesh 不支持。

  • 2017–09–08 页面已发布并只进行了有限的编辑审查

  • 5.6 中的新功能

  • Advanced debug visualisation removed from 5.6 and 17.1 Manual versions

导航网格构建组件
导航网格修改器 (NavMesh Modifier)