U3L20——导航寻路系统

导航寻路系统

Unity中的导航寻路系统是能够让我们在游戏世界当中
让角色能够从一个起点准确的到达另一个终点
并且能够自动避开两个点之间的障碍物选择最近最合理的路径进行前往

Unity中的导航寻路系统的本质
就是在A星寻路算法的基础上进行了拓展和优化

注意!Unity2022版及以上的导航寻路系统发生了变化 ——> 具体可看 Unity2022及以上版本的导航寻路系统

学习内容

  1. 导航网格(NavMesh)的生成
    要想角色能够在场景中自动寻路产生行进路径,那么必须得先有场景地形数据,导航网格生成就是生成用于寻路的地形数据
  2. 导航网格寻路组件(NavMesh Agent)
    寻路组件就是帮助我们根据地形数据计算路径让角色动起来的关键
  3. 导航网格外连接组件(Off-Mesh Link)
    当地形中间有断层,想让角色能从一个平面跳向另一个平面,网格连接组件时关键
  4. 导航网格动态障碍物组件(NavMesh Obstacle)
    地形中可能存在的可以移动或动态销毁的障碍物需要挂载的组件

Unity2022及以上版本的导航寻路系统

将导航寻路系统从Unity中剥离,需要在Package Manager窗口中添加对应内容

image

切换页签

image

搜索AI相关

​​image​​

点击安装

image

安装成功后

image

Unity2022加入了一些新的规则和功能,为了方便我们的学习

我们还是使用老的一套方案

打开Navigation(Obsolete)窗口进行烘焙即可

image

新版本中,不能单独设置物体的寻路静态属性

只需要直接将参与烘焙的物体设置为静态对象即可

image

这样配合教程,你便可以继续学习了