自动寻路是很多游戏必备的功能之一(虽然以前玩网游很多人都吐槽国产网游的自动寻路和挂机是很蠢的功能233)。这个功能可以帮助我们在各式各样的场景中实现点击屏幕就控制角色到达指定的地点。如图

NavMeshComponents是Unity官方提供的一款插件,可以用来实现我们所需要的自动寻路功能,github地址。大家下载好后,里面有很多的demo供大家学习,今天就和小伙伴们一起入门。

百看不如一试,我们先自己建个空场景,来模拟Demo1的情况。

1.首先我们要建立一个场景,里面有各式各样的路障,越帅越好。然后建立两个圆柱体伪装角色。两个角色可以设置不同的高度和宽度,场景的障碍物之间的路口也可设置不同的宽度和高度,用来模拟。

其中我设置的Player1为红色的默认圆柱体,scale(1,1,1),即半径为0.5,高度为2。Player2为绿色的圆柱体,scale(1.5,0.8,1.5),即半径0.75,高度1.6。然后其中左下角带顶的通道,高度为1.9

2.给要移动的物体添加NavMeshAgent组件,并设置相关参数。与添加ClickToMove组件

我们给Player1和2分别添加NavMeshAgent组件,并在Agent Type选项中,选择Open Agent Settings...打开设置界面。添加两个新的Agent Type分别为Player1和Player2。通俗的讲,Radius即为物体半径,Height为物体高度,Step Height的高度指能上去的最大高度(类似于上台阶),Max Slope即为能上去的最高陡度(类似于上斜坡),这两个参数小伙伴们可以自行在场景中添加斜坡和台阶进行测试。根据自己设置玩家物体的参数设置好即可,然后为Player12选好对应的Agent Type。

至于其他的参数含义,大家可以看这个网页自行参考:http://wiki.ceeger.com/script/unityengine/classes/navmeshagent/navmeshagent?s[]=navmeshagent

接着要添加demo中自带的ClickToMove,里面的逻辑也很简单,就是通过射线的原理,将鼠标点击的坐标设为NavMeshAgent的目的地。

3.给场景添加NavMeshSurface组件

接下来就是最后一步了,我们给我们的场景Ground添加NavMeshSurface组件,因为场景中有两个属性不一样的NavMeshAgent,所以我们也需要添加两个NavMeshSurface进行对应,如图

选择好Agent Type后,我们点击Bake即可。

上面的操作都搞好以后,我们就可以运行该工程了体验最简单的自动寻路了。设置好NavMeshAgent的物体会自动移动到鼠标点击的区域。

Unity 自动寻路入门 NavMeshComponents相关推荐

  1. Hololens Unity 开发入门 之 Hello HoloLens

    Hololens Unity 开发入门 之 Hello HoloLens~ 本文主要记录 HoloLens Unity 开发入门 ~ 一.说在前面的话 Unity 对 VR AR 甚至 将来的 MR ...

  2. unity开发入门_Unity游戏开发终极入门指南

    unity开发入门 Unity is a great tool for prototyping everything from games, to interactive visualisations ...

  3. Unity Shader入门精要学习笔记 - 第6章 开始 Unity 中的基础光照

    转自冯乐乐的<Unity Shader入门精要> 通常来讲,我们要模拟真实的光照环境来生成一张图像,需要考虑3种物理现象. 首先,光线从光源中被发射出来. 然后,光线和场景中的一些物体相交 ...

  4. Unity 新手入门 如何理解协程 IEnumerator yield

    Unity 新手入门 如何理解协程 IEnumerator 本文包含两个部分,前半部分是通俗解释一下Unity中的协程,后半部分讲讲C#的IEnumerator迭代器 协程是什么,能干什么? 为了能通 ...

  5. unity shader入门精要_Unity Shader 入门(一):渲染流水线

    一.参考与说明(需要写在开始东西): 1.1 Unity Shader 入门紧要学习 candycat1992/Unity_Shaders_Book​github.com 1.2 还有一些图形学的历史 ...

  6. unity ui框架_[教程汇总+持续更新]Unity从入门到入坟——收藏这一篇就够了

    ----------------塔防(更新中),作者重写了基础篇(下方目录为:1.1(新) 基础)目前还在持续连载了5篇,因为不多我们更新完就能追到原作者的进度了------------------- ...

  7. Unity快速入门之四 - Unity模型动画相关

    最近要给公司的小伙伴做Unity入门,针对几个常用的知识进行快速入门介绍. Unity快速入门之一 3D基础概念.Camera.Canvas RenderMode的几种方式对比_翕翕堂 Unity快速 ...

  8. Unity Shader入门精要第七章 基础纹理之遮罩纹理

    Unity系列文章目录 文章目录 Unity系列文章目录 前言 一.实践 参考 前言 遮罩纹理(mask texture)是本章要介绍的最后一种纹理,它非常有用,在很多商业游戏中 都可以见到它的身影. ...

  9. Unity Shader入门精要第四章:学习Shader 所需的数学基础--坐标空间

    Unity系列文章目录 文章目录 Unity系列文章目录 前言 一.4.6.1 为什么要使用这么多不同的坐标空间 二.4.6.3 顶点的坐标空间变换过程 4.6.4 模型空间 4.6.6 观察空间 4 ...

  10. 《Unity Shader入门精要》笔记02 第1章+第2章

    基础篇 第1章+第2章 --本系列是基于人民邮电出版社<Unity Shader入门精要>(冯乐乐著 )的自学Unity Shader笔记,如果您发现了本文的纰漏,还望不吝指正. 基础篇 ...

最新文章

  1. (1)搞一搞 seata 之 基础环境搭建
  2. react.js 引用 NavBar 报错svg-spite-loader
  3. 用ACE的Reactor模式实现网络通讯的例子
  4. 数人云牵手红帽Ansible:七大最佳实践解锁DevOps落地姿势
  5. 使用BeetleX构建基础的SSL网络通讯
  6. python外卷(12)-sort(),sorted(),ord(),chr()
  7. Android开发在路上:少去踩坑,多走捷径
  8. 网页查看js源码汉字显示乱码问题解决
  9. 按钮 加加加 减减减
  10. 组装台式计算机配置清单,组装台式机清单配置,组装台式机详细清单
  11. Mac打包dmg文件(更换背景图)
  12. jav学习日记:多线程(一)
  13. 红红纪念日记录器(原创)
  14. 三种有序表的查找算法
  15. linux libc .so,Linux libc.so.6文件使用问题
  16. 在微信小程序中如何使用wx.onLocationChange(function callback)
  17. 题解 P5035 【金坷垃】
  18. 第1章第19节:如何将完成的幻灯片打印到纸张上 [PowerPoint精美幻灯片实战教程]
  19. 低成本复制 ChatGPT 训练流程,仅需 1.68GB GPU 即可使用,方法现已开源!
  20. FreeRTOS 任务管理之任务创建

热门文章

  1. R语言处理数据——画图时加大标题
  2. 云知梦Jquery视频教程 jq重入门到精通 共12集
  3. HTML5汽车赛道飙车游戏免费源码下载
  4. Java快逸报表展现demo_快逸报表展示图片—来自本地/网络的图片
  5. 如何添加天锐绿盾屏幕水印
  6. 【梳理】高等代数(北大) 第一章 线性方程组(docx)
  7. ctf杂项各类编码汇总
  8. 勒索病毒最新变种for linux,Satan勒索病毒新变种卷土重来 安全狗提醒您注意
  9. 最最牛的SQL客户端软件
  10. java计算器流程图_我的第一个JAVA程序之计算器