400-650-7353
您所在的位置:首页 > IT干货资料 > unity > 【Unity基础知识】关于Unity导航系统新增功能的使用说明

【Unity基础知识】关于Unity导航系统新增功能的使用说明

  • 来源:Unity干货资料
  • 2021-12-24 15:20:34
  • 阅读()
  • 分享
  • 手机端入口

Unity2017以上的版本,其导航系统比5.X版本新增加了一些功能,最显著的就是导航窗口的更新,如下图:

在Agents里面多出来了AgentTypes,其下面可以添加不同的代理类型,每个类型都可以设置不同的半径、高度、坡度和所上台阶的高度,给场景中的物体添加NavMeshAgent组件后,可以选择不同的AgentType,如下图所示:

但是这里会出现一个问题,即使选择了不同的AgentType,运行的时候会报错,如下图所示:

如果选择Humanoid就没有出现上面的报错,主要是因为不同的AgentType需要其相对应的导航路径,如果两个物体分别选择了player和Enemy两个AgentType,则需要生成两个不同的导航路面,直接使用Unity2017原生的组件是没有办法实现的。

对此Unity官方提供了另外的导航组件,可以实现不同的游戏物体,使用不同的AgentType沿着不同的导航路径进行自动寻路。获取新的导航组件步骤如下:

1.进入导航窗口的Bake界面,如下图所示:

2.点击上图中的链接,进入GitHub,如下图所示:

3.然后点击Download ZIP,下载压缩包,然后解压缩,打开解压缩后的文件夹,找到Assets,里面的文件目录如下:

4.在Examples文件夹中给出了导航系统的最新功能的7个案例,大家可以通过案例来了解导航的新增功能都有哪些,案例目录如下:

5.在NavMeshComponents里面就是新增加的脚本组件,目录如下所示:

6.实现上述新增功能,必须用到新增加的脚本组件,但是如果把这些脚本组件直接导入到Unity2017引擎编辑器中后会报一堆错,通过Github上的提示,上述所下的脚本组件需要在Unity2019.3.0版本或者更高版本环境下运行:

下面对上述的案例所实现的功能进行大致说明:

案例1所实现的功能:不同的游戏物体可以选择不同的AgentType,然后按不同的导航路径移动;

案例2所实现的功能:导航路径实时动态烘焙,点击鼠标左键,物体移动到点击位置,遇到中间断的路径时,点击空格键可以生成小平板,然后在小平板上动态的生成导航路径;

案例3所实现的功能:自动寻路的物体自身坐标与世界坐标不一致时,物体运动的效果,例如物体爬坡;

案例4所实现的功能:默认导航网格只生成一部分,当点击地面时,动态生成新的网格,并且把位置同步给要自动寻路的物体,让物体走到鼠标点击的位置;

案例5所实现的功能:点击地形上不同的位置,动态生成导航网格,但网格不全是平的,有一定的曲面,如下图:

案例6所实现的功能:按下鼠标左键在地面上拖动,更改导航网格,如下图:

案例7所实现的功能:分离路面导航时,物体有向上跳的动作,而不是直接平移,如下图:

大家可以根据实际要实现的功能,选择不同的场景研究一下即可。

文章“【Unity基础知识】关于Unity导航系统新增功能的使用说明”已帮助

>>本文地址:https://www.ujiuye.com/zhuanye/2021/71479.html

THE END  

声明:本站稿件版权均属中公教育优就业所有,未经许可不得擅自转载。

1 您的年龄

2 您的学历

3 您更想做哪个方向的工作?

获取测试结果
  • 大前端大前端
  • 大数据大数据
  • 互联网营销互联网营销
  • JavaJava
  • Linux云计算Linux
  • Python+人工智能Python
  • 嵌入式物联网嵌入式
  • 全域电商运营全域电商运营
  • 软件测试软件测试
  • 室内设计室内设计
  • 平面设计平面设计
  • 电商设计电商设计
  • 网页设计网页设计
  • 全链路UI/UE设计UI设计
  • VR/AR游戏开发VR/AR
  • 网络安全网络安全
  • 新媒体与短视频运营新媒体
  • 直播带货直播带货
  • 智能机器人软件开发智能机器人
 

快速通道fast track

近期开班时间TIME