自动寻路系统是游戏开始运行时,第一人称主动寻找目标,中间有很多障碍物。
首先建立一个plane,当做地面,然后建立主角和被寻找目标,中间设置障碍物,可以是box压缩而成,只要是中间有障碍物就行了。
图1 场景
在我的场景中,红色的胶囊代表主角,蓝色的球代表被寻找目标
file:///C:/Users/Administrator/AppData/Roaming/Tencent/Users/970335874/QQ/WinTemp/RichOle/%25IXI0FWFUN53321QPFKG219.jpg
场景建好了,下面给所有的物体Static打钩,除了摄像机,灯光,运动的物体,给运动的物体添加组件Component-Navigation,然后添加脚本,脚本如下
var Target : Transform; // //function Update () { // gameObject.GetComponent.<NavMeshAgent>().SetDestination(Target.position); //}
然后打开Window- Navigation,进行bake,首先要把整个场景存一下,然后bake,bake完成可以运行一下,检查没有bake的地图,然后调整参数
参数如下:
Radius 半径 一般让地面上的蓝色的片刚好把障碍物放上
height 高度,一般第一人称和被寻找目标都在蓝色的片上一部分
Max Slope 最大坡度,如果有坡度,就要调这个参数的度数大小
Generated Off Mesh Links 可以从一个地方到另一个地方,凌空飞去,
Drop Height 落差
jump distance 跳跃距离 ,调整两个参数,根据你的实际情况调节
Advanced 下面有四个选项,一般不动
图2 窗口
clear,然后bake,这样自动寻路系统就完成了
|