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所实现的功能:分离路面导航时,物体有向上跳的动作,而不是直接平移,如下图:

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

学习疑问申请解答
您的姓名
您的电话
意向课程
 

中公优就业

IT小助手

扫描上方二维码添加好友,请备注:599,享学习福利。

>>本文地址:
注:本站稿件未经许可不得转载,转载请保留出处及源文件地址。

推荐阅读

优就业:ujiuye

关注中公优就业官方微信

  • 关注微信回复关键词“大礼包”,享学习福利
QQ交流群
在线疑问解答
(加群备注“网站”)
IT培训交流群 加入群聊 +
软件测试 加入群聊 +
全链路UI/UE设计 加入群聊 +
Python+人工智能 加入群聊 +
互联网营销 加入群聊 +
Java开发 加入群聊 +
PHP开发 加入群聊 +
VR/AR游戏开发 加入群聊 +
大前端 加入群聊 +
大数据 加入群聊 +
Linux云计算 加入群聊 +
优就业官方微信
扫码回复关键词“大礼包”
享学习福利

测一测
你适合学哪门IT技术?

1 您的年龄

2 您的学历

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

获取测试结果
 
课程资料、活动优惠 领取通道