U3L20-1——导航网格的生成(NavMesh)

准备地形

在进行导航寻路网格生成时,第一步是需要有地形,地形由美术同学制作

打开导航网格数据窗口

image

Window ——> AI ——> Navigation 打开Unity内置的导航网格生成窗口

参数相关

Object 场景对象设置页签

在这里设置需要烘焙导航网格的地形对象,以及该对象的地形性质

image

  • Sceme Filter: 场景过滤器,配合Hierarchy窗口使用

    • All:显示场景上所有对象
    • MeshRenderers:显示挂载的网格渲染器的对象
    • Terrains:显示挂载了地形脚本的对象
  • Navigation Static 导航静态物体开关
    被选中的物体会自动变为Navigation Static
    非常重要,所有想要为其生成导航网格的地形都需要选中它

  • Generate OffMeshLinks 生成网格连接点开关****例如两个分离开的地形如果要连接网格就需要选择它

  • Navigation Area 导航区域选择,配合Areas页签使用
    该项将决定地形对象的寻路消耗

Bake 导航数据烘焙页签

根据需要导航的对象的各种情况(大小,爬坡能力等),决定导航网格如何烘培

image

  • Agent Radius 代理半径 决定了烘焙边缘精确度控制平台可行走区域和边缘可行走区域****半径越窄,可行走区域就越大
    这一项取决于需要导航的对象的粗细

  • Agent Height 代理高度 决定了烘焙高度精确度****控制拱桥是否可以穿越,这一项取决于需要导航的对象的高度

  • Max Slope 最大坡度 斜坡度数
    决定了斜坡是否可以行走****这一项取决于需要导航的对象能爬上的坡的坡度

  • Step Height 最小楼梯高度
    决定了台阶是否可以行走****这一项取决于需要导航的对象能踩上多高的台阶

  • Generated off mesh Links 生成非网格连接****两个分开的网格之间连接相关设置设置前请确认打开了Object页签的Generate OffMeshLinks

    • Drop Height 掉落高度
      可以从这个高度掉下来
    • Jump Distance 跳跃距离
      决定不同平面上的跳跃距离
  • Advanced

    • Manual Voxel Size 手动设置立体像素大小

      • Voxel Size 开启前者后可以在这里设置立体像素大小
        可以控制烘焙的准确度
        立体像素大小描述了生成的导航网格表示场景几何体的准确程度
      • 注意:立体像素大小减半会使内存使用量增加4倍,构建时间也增加4倍
        一般情况下不需要修改这个值 除非想要极其准确的导航网格
    • Min Region Area 最小区域面积
      当面积小于此处值的导航网格区域会被移除

    • Height Mesh 高度网格构建开关
      主要用来解决楼梯烘焙为斜坡时
      希望在楼梯表面的位置准确的放置在楼梯平面上而不是斜坡上
      启用它会增加烘焙时间

Areas 导航地区页签

配合Object页签使用,用来决定各个地形的寻路消耗

image

  • Name 区域名字
  • Cost 寻路消耗
    消耗越大,导航系统越容易绕开使用了该页签的地形

Agents 代理页签

用于配置寻路代理信息,参数和烘培页签上差不多

image

  • 可以为不同的需要导航的对象,设置不同的代理,
    以应对不同对象的寻路情况