详解Unity中的Nav Mesh新特性|导航寻路系统 (一)

这篇具有很好参考价值的文章主要介绍了详解Unity中的Nav Mesh新特性|导航寻路系统 (一)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

之前我们讲解过Unity的Nav Mesh系统,其中提到过这个新版的Nav Mesh,它解决现有Nav Mesh的几个缺陷,比如无法动态烘焙,无法按照Agent的半径和高度适当的判断可行路径。现在新版Nav Mesh可以彻底解决这个问题!某种意义上讲,它只能算作一个补丁,因为它要依赖于原有的Nav Mesh系统,本篇文章就来讨论一下这个新版NavMesh系统到底是什么。

本系列提要

Unity新版NavMesh专题博客共分成三篇来讲解: 【本篇为第一篇】

  • 第一篇(点击直达):新版NavMesh安装使用与概述
  • 第二篇(点击直达):详解NavMeshSurface、NavMeshLink组件的参数和应用
  • 第三篇(点击直达):详解NavMeshModifier、NavMeshModifierVolume组件的参数和应用

Unity旧版NavMesh专题博客指路

  • 第一篇(点击直达):如何快速上手使用
  • 第二篇(点击直达):详解Nav Mesh Agent参数,详解如何添加动态障碍(Nav Mesh Obstacle),详解如何创建外链接(Off Mesh Link)
  • 第三篇(点击直达):详解Navigation属性栏,包括AI寻路的区域与花费代价,路线网格烘焙相关参数,如何自动添加外链接

Unity版本[2019.4.10f1] 梦小天幼 & 禁止转载

视频讲解:
【详解Unity】导航系统(一) | Nav Mesh新特性 | 概述篇


一、如何安装新版Nav Mesh

官方把该版本的NavMesh放到了GitHub上,目前还处于实验包阶段,使用起来是绝对没任何问题的,支持Unity5.6之后的版本,目前我使用的版本是2019.4.10f1,详细版本说明可以参考原GitHub页面版本说明

在Navigation属性栏的Bake选项卡上,官方就已经把链接贴了出来
详解Unity中的Nav Mesh新特性|导航寻路系统 (一)

https://github.com/Unity-Technologies/NavMeshComponents

两种安装方式

1.从GitHub下载把文件下来,然后直接拖入Asset文件夹即可
主要是把这个文件夹(里面都是C#脚本,没啥神秘的)拖入自己项目的Asset文件夹中,其他都是一些案例演示
详解Unity中的Nav Mesh新特性|导航寻路系统 (一)

2.从包管理器(Package Manager)中根据包名(Package name)下载

首先打开包管理器(Window-Package Manager)
第二步
详解Unity中的Nav Mesh新特性|导航寻路系统 (一)

第三步 输入包名 点击Add之后等待下载完毕 | 包名(com.unity.ai.navigation)
详解Unity中的Nav Mesh新特性|导航寻路系统 (一)


二、与旧版Nav Mesh区别

我们从组件方面入手来讲解

旧:
旧版NavMesh包括三个组件,NavMesh Agent、NavMesh Obstacle、Off MeshLink
分别用于AI寻路的代理、设置动态障碍物、设置外部链接

还有Navigation属性栏下的Agents、Areas、Bake、Object
分别用于代理的宽高、可爬坡角度、跨越高度设置,代理的区域代价设置,寻路路径烘焙设置,所选对象的区域设置、是否静态与外链接设置

新:
新版NavMesh包括四个组件,NavMeshSurface、NavMeshLink、NavMeshModifier、NavMeshModifierVolume
分别用于设置代理本身的寻路路径烘焙设置、根据层次结构来影响烘焙生成的模块、根据体积来影响烘焙生成的模块、新的外链接方式设置


三、新版的新增功能

本来想说新版的优点,但某种意义上来讲,新版不过是旧版的延伸罢了,还是要依赖旧版的,更像是一种补丁,或者说DLC,所以说用新增功能来表述更加合适

1.可根据不同的Agent的大小半径生成特定的导航网格(旧版全局只能使用一个Agent的参数)

2.可在运行时烘焙导航网格(旧版只能通过Bake选项卡在编辑时烘焙)

3.可以非常方便的修改某个物体或者任意范围的区域与代价设置(旧版只能通过Object选项卡中设置对象所属区域)

4.可以非常灵活的设置外链接(旧版只能被动生成或通过修改两点的position来设置外链接)


四、总结和参考资料

1.总结

无总结

2.参考资料

[1].Unity官方.新版NavMesh GitHub页面
[2].Unity官方.按名称添加注册表包
[3].Unity官方.新版NavMesh组件文档文章来源地址https://www.toymoban.com/news/detail-445674.html

到了这里,关于详解Unity中的Nav Mesh新特性|导航寻路系统 (一)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • unity3d 通过Nav Mesh Agent组件实现敌人巡逻以及有关“SetDestination”报错问题解决

    首先展示效果: 在实现敌人自动巡逻这一块我们可以通过使用unity自带组件Nav Mesh Agent(导航网格代理),在省去冗杂的代码量的同时可便利的实现这一功能。 首先为敌人添加Nav Mesh Agent组件: https://docs.unity.cn/cn/2018.4/Manual/class-NavMeshAgent.html 以上是unity官方手册上关于该组件

    2024年02月01日
    浏览(83)
  • 游戏思考17:寻路引擎recast和detour学习三:客户端角度学习(unity专题导航系统,阶段三完结)

    1)导航系统作用 帮助角色进行AI智能移动:朝目标移动,绕过障碍物,上下台阶… 2)导航系统包括 ①导航网格(NavMesh):下图的蓝色地形,可以行走的表面 ②导航网格代理组件(NavMesh Agent):模拟人物移动和寻路 ③导航网格障碍物(NavMesh Obstacle):定义物体为障碍物,这样导航网

    2023年04月12日
    浏览(61)
  • Unity实现简单自动寻路,自动导航

    Unity实现简单自动寻路,自动导航

    2024年02月07日
    浏览(69)
  • Unity中的导航系统

            NavMesh(导航网格)是3D游戏世界中用于实现动态物体自动寻路的一种技术,将游戏中复杂的结构组织关系简化为带有一定信息的网格,在这些网格的基础上通过一系列的计算来实现自动寻路。导航时,只需要给导航物体挂载导航组建,导航物体便会自行根据目标点来

    2024年02月03日
    浏览(48)
  • Unity 中的简单A*寻路 (AStar寻路)实现

    本文实现的A*算法,未经过大量的优化,后续文章会进一步实现优化 后篇:A*优化讨论 结点类: 结点管理类: 单例模板: 测试脚本: 新建一个场景,将测试脚本挂载在任意物体上 新建一个画布,并添加一个按钮。其它ui元素可随意设定 将按钮关联Init方法 后续优化文章:

    2024年02月03日
    浏览(56)
  • ROS2+nav2+激光雷达导航(上)

    前面一段时间在ros2和cartographer中摸爬滚打后,终于把图给建出来了,下一步应该就是根据建好的图利用nav2来进行导航了。 本篇博客主要讲解如果加载地图,并用 AMCL 算法实现定位,导航的部分放到下一部分当中。 环境 Ubuntu 22.04 ROS2 humble 激光雷达:镭神激光雷达M10P 网口版

    2024年02月03日
    浏览(71)
  • Unity零基础到入门 ☀️| 万字教程 对 Unity 中的 Navigation导航系统基础 全面解析+实战演练【收藏不迷路】

    📢博客主页:https://blog.csdn.net/zhangay1998 📢欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正! 📢本文由 呆呆敲代码的小Y 原创,首发于 CSDN 🙉 📢未来很长,值得我们全力奔赴更美好的生活✨

    2023年04月08日
    浏览(49)
  • 【Unity】Unity寻路系统讲解及Navigation实际应用

    Unity常用的寻路方式主要有以下几种: 路点寻路(WayPoint) 单元格寻路(Grid) 导航系统(Navigation) 路点寻路就是在地图上指定一些路点,让角色在路点之间移动。常用于一些固定路线的敌人或物体。 优点:路点寻路的优点是实现起来比较简单,且占用资源少、计算开销低

    2024年02月01日
    浏览(99)
  • 【Unity自动寻路】使用Navigation系统实现物体自动寻路绕开障碍物

    知识点流程图 我们在游戏场景中经常会有一些障碍物、墙壁、树木等等,如果我想要让角色或者怪物去墙的另一边,我直接在墙另一边点击左键,我希望角色自动跑过去,但是他不能直接穿透墙,他需要“智能”的绕开障碍物,自动找到可以走的路,自己过去!这就是Unity

    2024年02月03日
    浏览(52)
  • Unity3D: Mesh切割算法详解

    Unity3D是一款非常流行的游戏开发引擎,支持多种平台和多种语言。在Unity3D中,Mesh是游戏中最常用的3D模型表示方法,它由一系列的点、线、面组成。在游戏中,我们经常需要对Mesh进行一些特殊的操作,比如切割,这个时候就需要用到Mesh切割算法。本文将详细介绍Mesh切割算

    2024年02月16日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包