资源大湿 发表于 2022-6-15 20:54

U3D游戏开发练习归纳(AI导航)

*注:此文章为基于M_Studio《Unity3D游戏开发教程》练习笔记,勿喷;

版本和视频有出入,故记录;
视频链接:

Unity3D版本:2021.2.3

1.AI地图导航烘焙

(1)窗口——AI——导航,打开AI导航窗口;



人物大小,宽度,可爬坡的角度

(2)选择地面对象,在检查器便签选择Navigation Static;


(3)这里询问是否把对象子对象也设置成Navigation Static,这里要选择否,因为我们要设置成树木石头是不可行走范围,地面是可行走范围;


(4)点开导航窗口——对象——下拉选择“Waalkable”,图1;
         点开烘焙——可以先不调整数值直接点Bake,图2;
         就会发现地图上有绿色的格子,这些绿色格子就是行走范围,图3;


调整图2的数值,可以调整坑洼山上的行走范围;



图2



图3

(3)接下来我们给树木,石头做不可行走范围;打开检查器,搜索对象“tree”,
         或者石头之类的对象全选,图1;
         在导航窗口勾选“Navigation Staic”,下拉选择“No Waalkable”,图2
          然后在烘焙窗口,点击"bake“(如上一步);
         你的树和石头就会空出来一块,这一块就是不可行走范围,图3;

http://pic2.zhim.com/v2-375d8b1a4fbb293e1d9a5d9317aa80cd_b.png

图1



图2



图3

(4)调整人物的碰撞体大小,选择人物——检查器——把Animator上的控制器为“无”,图1;



图1

      添加"Nav Mesh Agent"组件,可以控制人物的碰撞体大小,图2;



图2

      双击对象,拉近视角,可以发现有绿色的框,就是你模型的碰撞区域大小,图2;



图2

如图调整"Nav Mesh Agent"参数,调整到合适的大小,图3;



图3

把图3数值填入图4,按“Bake”,会发现行走范围会改变,是因为调整了合适碰撞体大小的行走范围;



图4

(完了)
页: [1]
查看完整版本: U3D游戏开发练习归纳(AI导航)