unity自带寻路功能实现

时间:2024-05-21 07:47:54
本文所用的unity版本是5.6.3f1
对于一些简单的AI寻路功能,我们可以直接利用unity自带的寻路设置,下面是个简单的demo,将一个cube设置成了player,一个capsule设置成敌人,player就是敌人的目的地位置,烘焙好的场景,有可以行走、跳跃的路径,默认会选择cost值最低的路线移动。
1.将墙体等Static设置为navigation static
unity自带寻路功能实现
unity自带寻路功能实现
2.在Navigation面板,设置寻路物体的高度、半径,可行走台阶高度、坡度、跳跃高度等参数,然后进行烘焙(Bake)
unity自带寻路功能实现
unity自带寻路功能实现
3.寻路物体优先选择Cost值小的路线
unity自带寻路功能实现
unity自带寻路功能实现
4.在不需要烘焙的物体上添加Nav Mesh Obstacle组件(类似门的功能),烘焙后,该物体占用的地方在物体移开后也可通过(Carve选项勾选后,寻路物体就不知道该位置有路)
unity自带寻路功能实现
unity自带寻路功能实现
5.另外还可以自行设置跳跃路径,在空物体上添加Off Mesh Link组件,下面为起点和终点位置
unity自带寻路功能实现
unity自带寻路功能实现unity自带寻路功能实现
unity自带寻路功能实现
6.在寻路物体上添加Nav Mesh Agent组件,并添加脚本设置目标位置(需要引用UnityEngine.AI)
unity自带寻路功能实现
unity自带寻路功能实现unity自带寻路功能实现
unity自带寻路功能实现