导航系统
Unity 中有一个专门用于实现导航寻路功能的 Navigation 系统。
这个系统由三个组件和一个 Navigation 总控制面板组成。
一.导航系统介绍
1.现实生活中的导航系统
游戏是什么?游戏是创造一个虚拟的世界,在这个虚拟的世界,所有的东西,我
们在现实生活中都能找到它们的影子,比如导航系统。
智能手机上的百度地图,高德地图,本身就是一个导航系统。
导航的本质:
导航系统能帮助我们从 A 点(出发点)到达 B 点(目的地)。
从 A 点到 B 点可能有 N 条路,导航系统会帮我们选出最快捷最方便的那条路。
现实生活中的导航系统是这样的,虚拟世界中的导航系统同样也是这样的。
2.Unity 中的导航系统
Unity 中的导航系统是由“A*算法”延伸扩展实现的。
由三个导航组件,一个控制面板组成。通过导航系统,我们可以实现类似于现实
生活中的导航。
二.导航系统步骤
1.准备测试场景
①.创建地面,角色,目的地位置,搭建一个简单的场景。
②.调整以上三者的位置信息【见图】。
2.烘焙导航场景
地面上哪些位置角色是可以行走的,我们是需要标示处理的,如何处理那?
①.将地面勾选 static,变成静态物体(场景中只有静态物体才能参与烘培);
②.在unity导航栏点击Window-->Navigation-->Bake-->Bake,烘焙导航场景。
也就是说“标示出角色可以移动行走的范围”,烘焙完毕后,会出现一个和场景
同名的文件夹,保存导航网格烘焙的数据。
3.导航寻路组件
我们的角色要在烘焙过的范围内实现导航,角色身上需要添加一个导航组件(NavMeshAgent(导航网格代理器))。
由该组件负责实现导航功能
①.选中角色在unity导航栏点击Component-->Navigation-->Nav Mesh Agent添加该组件。
②创建脚本命名为Player控制该组件移动到导航目的地。
三:NavMeshAgent 组件参数分