Unity3D中的自动寻路
2017-01-07 18:31
441 查看
Unity3D中自动寻路的功能:
概述:
别人写的教程,非常详细,细节我就不赘述了。只写一些自己的总结:
1. 什么是导航网格:
“导航网格”,规定了使用自动寻路的GameObject所能或者不能通过的地方。
2. 如何生成导航网格:
菜单栏: Window——Navigation,打开导航网络控制面板。
选择想要生成网格的游戏物体,比如一个Plane,在”导航网格控制面板“中将“Navigation Static”打钩,点击右下角的Bake,烘焙路径,则可以看到自动生成的区域。Navigation Area则决定了这个区域是Walkable还是not Walkable或者是Jump。
3. 如何应用导航网格:
在自己的Player上添加一个“Nav Mesh Agent”组件,这个组件实现了自动寻路的功能,可以看做是一个封装。设计者只要使用这个组件就好了,具体可以看官方说明。
举个例子:
把这个脚本挂到想要自动寻路的游戏物体,并指定目标位置游戏物体。
简单粗暴有木有?
这句代码设置后,所挂载该脚本的游戏物体就开始依据我们通过Bake生成的导航网格自动寻路了。这个过程中,会自动绕过障碍物(通过Bake将这类游戏物体烘焙为not walked)。
4. OffMeshLink是什么?
按照我的理解,这个组件提供了不同的高度和导航网格中断的处理方案,详情看教程吧。
下面是别人教程的地址,非常详细:
有些教程里面的素材如果没有,通通用cube代替,学到东西才是真的。我看这些教程时,由于是几经转载,都看不到图的,就自己随便弄个cube,Metrial之类的搞完再说。
Unity里面的自动寻路(一)
Unity里面的自动寻路(二)
unity自带寻路Navmesh入门教程(一)
unity自带寻路Navmesh入门教程(二)
unity自带寻路Navmesh入门教程(三)
概述:
别人写的教程,非常详细,细节我就不赘述了。只写一些自己的总结:
1. 什么是导航网格:
“导航网格”,规定了使用自动寻路的GameObject所能或者不能通过的地方。
2. 如何生成导航网格:
菜单栏: Window——Navigation,打开导航网络控制面板。
选择想要生成网格的游戏物体,比如一个Plane,在”导航网格控制面板“中将“Navigation Static”打钩,点击右下角的Bake,烘焙路径,则可以看到自动生成的区域。Navigation Area则决定了这个区域是Walkable还是not Walkable或者是Jump。
3. 如何应用导航网格:
在自己的Player上添加一个“Nav Mesh Agent”组件,这个组件实现了自动寻路的功能,可以看做是一个封装。设计者只要使用这个组件就好了,具体可以看官方说明。
举个例子:
using UnityEngine; using System.Collections; public class SetHeroDes : MonoBehaviour { public Transform ds;//用来确定目的地坐标的游戏物体的Transform private Vector3 origin;//存储导航网格代理的初始位置 private NavMeshAgent nma;//存储导航网格代理组件 void Start() { nma = gameObject.GetComponent<NavMeshAgent>(); //取得导航网格代理组件 origin = transform.position; // 存储一下这个脚本所挂载游戏物体的初始位置 nma.SetDestination(ds.position); // 关键点:操作NavMeshAgent组件,设置自动寻路的目标位置为我们通过ds所指定的点。 } }
把这个脚本挂到想要自动寻路的游戏物体,并指定目标位置游戏物体。
简单粗暴有木有?
nma.SetDestination(ds.position);
这句代码设置后,所挂载该脚本的游戏物体就开始依据我们通过Bake生成的导航网格自动寻路了。这个过程中,会自动绕过障碍物(通过Bake将这类游戏物体烘焙为not walked)。
4. OffMeshLink是什么?
按照我的理解,这个组件提供了不同的高度和导航网格中断的处理方案,详情看教程吧。
下面是别人教程的地址,非常详细:
有些教程里面的素材如果没有,通通用cube代替,学到东西才是真的。我看这些教程时,由于是几经转载,都看不到图的,就自己随便弄个cube,Metrial之类的搞完再说。
Unity里面的自动寻路(一)
Unity里面的自动寻路(二)
unity自带寻路Navmesh入门教程(一)
unity自带寻路Navmesh入门教程(二)
unity自带寻路Navmesh入门教程(三)
相关文章推荐
- Unity3d 自动寻路(自带)
- unity3d自动寻路教程
- unity3d开发2d游戏:自动寻路Navmesh入门
- Unity3D 官方文档 NavMesh三个组件的翻译与解释 自动寻路需要知道的细节
- [置顶] Unity3d 自动寻路系统Navigation实现人物上楼梯、走斜坡、攀爬、跳跃
- Unity3D 利用character controller控制人物在场景中移动和利用Navmesh Agent设置人物自动寻路
- Unity3d自带的自动寻路系统(一)
- [原]Unity3D深入浅出 - 导航网格自动寻路(Navigation Mesh)
- 【Unity3D】自动寻路
- 【Unity3D】自动寻路(Nav Mesh Agent组件)
- Unity3D- 自动寻路
- Unity3D 导航网格自动寻路(Navigation Mesh)
- Unity3D 中自动寻路教程 (一)
- Unity3D深入浅出 - 导航网格自动寻路(Navigation Mesh)
- unity3d 自动寻路 惯性问题 “滑动”
- unity3d自动寻路
- 【Unity3D】3D模型的自动寻路与Animation连击
- 【Unity3D】自动寻路的跳跃
- Unity3D 自动寻路入门指南
- 【Unity3D】刚体自动寻路的抖动问题和运动边界、空气墙的制作