导航网格烘焙
一旦标记完导航网格 (Navmesh) 几何体和层之后,就可以烘焙导航网格几何体了。
在导航 (Navigation) 窗口中(
),转到 选项卡(右上角),然后点击 按钮(右下角)。
导航烘焙窗口
以下是会影响导航网格 (Navmesh) 烘焙的属性:
半径 (Radius) | “典型”代理的半径(最好是最小值)。 |
高度 (Height) | “典型”代理的高度(角色通过所需的“空隙”)。 |
最大坡度 (Max Slope) | 坡度大于此值的所有表面会予以丢弃。 |
台阶高度 (Step height) | 高度差低于台阶高度时,则认为连接至导航网格区域。 |
下落高度 (Drop height) | 如果该属性值是正数,则将为高度差小于该值的相邻导航网格表面放置分离网格链接。 |
跳跃距离 (Jump distance) | 如果该属性值是正数,则将为水平距离小于该值的相邻导航网格表面放置分离网格链接。 |
高级 (Advanced) | |
最小区域面积 (Min region area) | 面积小于该阈值的区域将予以丢弃。 |
宽度误差 (Width inaccuracy) % | 容许的宽度误差 |
高度误差 (Height inaccuracy) % | 容许的高度误差 |
高度网格 (Height mesh) | 如果勾选此选项,原始高度信息会存储起来。这会对速度和内存性能造成一定影响。 |
请注意,烘焙的导航网格是场景的一部分,代理可以通过该导航网格。要删除导航网格,在
选项卡中点击 。实现细节
烘焙导航网格 (Navmesh) 时,它会映射到 XZ 平面中的方格中。可视化方格时,其边框被视为导航网格 (Navmesh) 上的亮蓝色轴对齐线。Unity 在一个场景中最多支持 1024 个方格,每个方格用 1000x100 个体素表示。如果您打算让代理在大区域中导航,请注意导航网格 (Navmesh) 的大小和最终的网格数。

具有亮蓝色轴对齐线的导航网格显示方格标度
半径 (Radius) 的默认设置为 0.5,宽度误差 (Width Inaccuracy) 的默认设置为0.16666667 (16.666667%)。默认设置的方格边长可计算为:
1000 * (2*半径) * 宽度误差 = 1000 * (2*0.5) * 0.16666667 = 166.66667
。
增加宽度误差 (Width Inaccuracy) 将允许容纳更大面积,但会降低导航网格 (Navmesh) 精度。
例如,如果您的网格有 32 x 32 个方格,则您将拥有 1024 个方格。这意味着,如果您拥有想与导航网格 (Navmesh) 配合使用的真正巨大地形,按照默认设置,该地形面积不得超过 5.333 乘以 5.333 千米(32 * 166.66667 米
)