1.Navigation的实现,在平面中,把平面分割成一个一个小格子,使用A*等算法计算从一个小格子到另一个小格子的路径;在3D中,小格子对应的为mesh。

2.创建一个建议的Navigation
①创建要为地形的物体,像是plane与cube

②把地形设置为navigation static
(1)在windows下的Ai中打开Navigation窗口

(2)选中物体,把Navigation Static选上
或者是选中物体在Inspector窗口中的static中选择为Navigation Static
③打开Navigation窗口的Bake对烘焙参数进行设置

Agent Radius:预计在地形上行走物体的半径,如果超过地形,此地形就不允许走
Agent Height:预计在地形上行走物体的高度,如果超过地形,此地形就不允许走
Max Slope:预计在地形上行走物体能够运动的坡度,越小表示爬坡的角度越小
Step Height:预计在地形上行走物体的步高,与Off Mesh Links有关

Off Mesh Links:分离地形能跳跃的Drop Height高度和 Jump Distance距离

Advanced物体在地形上的运动像素的大小,以及转体速度。一般为默认值

(3)设置完之后,点击Bake

蓝色区域,表示物体能够运动的区域
并且会生成NavMesh文件(如果是后台,进行导航运算的操作,后台解析此文件获得地形信息,然后将运算结果返回给前端),

(4)地形设置好之后,设置人物
①人物要添加的组件:Nav Mesh Agent

Agent Type(物体自己使用的)中设置了类似于bake中的值

Speed:导航的速度
Angular Speed:转体速度
Acceleration:加速度
Stopping Distance:距离目标的停止距离
Auto Braking:自动刹车
②设置Script进行控制,获取一个NavMeshAgent控件

NavMeshAgent my_NavMeshAgent;void Start(){my_NavMeshAgent = GetComponent<NavMeshAgent>();}

③调用SetDestination方法设置目标点,方法的参数为Vec3
可以设置一个transform节点,放在一个位置,然后把transform.position传给SetDestination方法
//设置transform

[SerializeField]Transform m_aim;
my_NavMeshAgent.SetDestination(m_aim.position);

3.NavMeshAgent常见的属性和方法
①属性:
autoTraverseOffMeshLink:bool 类型 到达跳跃点是否执行跳跃
currentOffMeshLinkData:OffMeshLinkData类型,当前连接的数据
desiredVelocity:vector3类型,期望速度
destination:vector3类型,目标position
②方法:
SetDestination(Vector3 target):设置目标点
ResetPath():清除当前路径
Stop():停止代理运动
ActivateCurrentOffMeshLink(bool flag):启动或者禁止当前的offMeshLink

4.跨越地形Off Mesh Link组件
①在地形上加Off Mesh Link

Strat:分离网格链接开始点物体
End:分析网格结束点的物体
Cost Override:开销覆盖,开销越大,再有其他路径的情况下,优选考虑其他路径
Bi Directional:是否双向定向

②在Navigation中的Generate OffMeshLink勾选上

③设置Bake中的允许跨越高度和长度,当两者之间的条件符合时,就会创建一个点,跨越到对方处

5.分层烘培
(1)自定义Area层
在Areas定义层的名字和Cost消耗


(2)设置场景中不同区域烘培为不同的层
选择地形,在Navigation,Object下找到要烘培成的层

(3)设置角色可以在导航中网格中那些层移动
选择人物,在Nav Mesh Agent中找到AreaMask,设置可以通过的层,也可以通过脚本控制改组件的这一属性


6.动态遮挡
为创建的移动障碍物,添加Nav Mesh Obstacle组件

如果勾选了Carve,动态移动的阻挡区域

Unity Navigation--自动寻路、分离路面导航、分层烘培、动态障碍相关推荐

  1. 聊聊Unity的几种灯光还有灯光烘培

    前言: 今天我们来学习学习Unity的几种灯光还有灯光烘培的知识. 收集资源的过程中发现有一个大佬人家写的太好太详细了,我就直接转载他的了--unity灯光烘焙设置详解 游戏场景中灯光照明的构成 现实 ...

  2. 【Unity3DRPG入门学习笔记第四卷】Navigation 智能导航地图烘培

    一.使用 Navigation 打开 Navigation 窗口 地面选择静态的(Navigation Static) 先处理地面,地面是可以行走的 (Walkable),树木占用的地方是不能行走的 ...

  3. Unity --- 触摸方法,以及灯光与烘培的使用

    触摸方法 1.首先触摸分为两大类:多点触摸和单点触摸 --- 这两种方式的触摸通过下面这个触摸数来进行判断,当其等于1的时候,为单点触摸,当其大于1的时候为多点触摸 2.当我们在调用触摸方法的时候我们 ...

  4. Unity Navigation寻路系统并画出指引线

    前言 寻路系统是游戏中很常用的一个功能,角色要达到某一点,需要系统给出一个路径,这样可以帮助玩家规划出路径,提示玩家到达,这种功能在各种类型的游戏中都有大量的应用 本案例通过Navigation实现寻 ...

  5. Unity 静态烘培 自动寻路,人物移动至鼠标点击位置

    1.建立导航地图,将场景设置为navigation static进行烘培,人物不用烘培 2.人物身上挂上compenent-navigation-navi mesh agent组件 3.编写导航脚本, ...

  6. 【Unity】12.4 通过网格分层选择行进路线

    开发环境:Win10.Unity5.3.4.C#.VS2015 创建日期:2016-05-09 一.简介 在具体的游戏情景中,通过分层可以控制物体的行进路线,比如哪些物体只能住水面上行进,哪些物体只能 ...

  7. Navigation网站收藏和导航平台

    初衷 估计很多人和小编一样,一开始将浏览过的觉得不错的网站收藏到浏览器的收藏夹中.日积月累,网站越来越多,在收藏夹里找所需网站越来越麻烦.后来浏览器从火狐转到Chrome,收藏的网站却不能同步过来.浏 ...

  8. Unity烘培的简单使用 三种烘焙模式的介绍

    Unity烘培的三种模式使用介绍 需要了解的知识 简介 Unity烘培是什么 间接光源和直接光源 Mixed 和 Baked 灯光设置的区别 Unity烘培在什么情况下使用 最常用的烘焙设置 Unit ...

  9. 场景烘培分享——详情unity手册

    1.灯光介绍 Unity灯光的简介 Area Light 区域光(只能用做烘培,常用雨补光或者是发光的屏幕上) spot light 射灯(和点光源搭配使用对于路灯的使用比较多) point点光源(对 ...

  10. unity学习一——烘培

    参数: Environment : 环境设置 Sky Material : 是整个场景的一个包装,它可以显示除了几何图形之外的世界.用于模拟天空或其他远处的背景.使用此属性可选择要用于场景的天空盒 材 ...

最新文章

  1. 汽车和山羊问题matlab_关于博弈的山羊与汽车问题
  2. webpack [记录]
  3. Memcached入门指南
  4. ImageMagick还是GraphicsMagick?
  5. anaconda cuda路径_anaconda+cuda+cudann+tensorflow环境安装
  6. 图与图算法在实际中的应用
  7. Flash:LoadVars数据提交与表单处理
  8. (译)我的第一游戏完成之后的5点心得体会
  9. python 类self作用_self在Python中有什么用途?
  10. java 线程池 连接池_浅析Tomcat高并发之连接池、线程池
  11. ext3转化为ext4
  12. 数领科技|Solidworks软件这些年来的变化你都知道吗?
  13. 济南铃木UU125无破线改装仪表盘详解
  14. 高版本SDK编译生成的apk放入低版本android源码中集成编译
  15. HDCP版权保护机制
  16. 敏感性分析—Sobol
  17. Qt5:报错error: 'tr' was not declared in this scop
  18. HDFS强制退出安全模式
  19. 樊登36个问题建立亲密关系_拉近亲密关系的36个问题
  20. Gradle plugin requires a newer IDE able to request IDE model level 3.

热门文章

  1. 成都蚂蚁金服java_成都蚂蚁金服暑期实习Java后台开发面经(已收到OC)
  2. 好书、买书、看书---乐在其中
  3. 童饰品,发夹、发卡ASTM F2923标准CPSIA测试报告办理
  4. MySql常用命令集
  5. 时间序列可预测性度量
  6. 【python中级】 ico图标生成器
  7. 莱维特LEWITT声卡驱动安装设置方法
  8. Google正确搜索方法
  9. 一位仁兄对于项目管理的精辟见解
  10. CAD中画一条直线与两个圆相切