一、寻路系统介绍
导航系统是unity自带的系统。它支持从已有的场景几何体创建导航网格,让物体在网格中自动找到目标位置。
二、烘焙寻路区域
步骤一:选择渲染对象
- 在需要渲染的地图中,选中所有collider。取消其他物体
- 将collider的mesh render都够选上
步骤二:打开寻路系统
- 路径:Window - AI - Navagation
步骤三:点击渲染
- 先点击Clear,再点击Baked进行渲染。
步骤四: 恢复所有设置
- 恢复所有物体的显示。注意:collider的mesh render 恢复默认设置。
- 在地图上可以看见的蓝色区域。即baked成功
步骤五:对要寻路的物体添加 NavMeshAgent组件
- 对要寻路的物体添加 NavMeshAgent组件
三、代码实现
//定义寻路对象
private NavMeshAgent nav;
//获得寻路组件
nav = player.GetComponent<NavMeshAgent>();
//对应集成的方法
nav.enabled = true; //激活导航系统
nav.enabled = false;//关闭导航系统
nav.isStopped = true; // 让导航停下来
nav.speed = Constants.PlayerMoveSpeed; //设置速度
nav.SetDestination(npcPosTrans[agc.npcID].position);//设置目标位置