AI巡逻,运用行为树
-设置TargetPoint数组,让AI在数组中的点之间移动
-我是直接用的第三人称的工程
1. 在场景中拖入TargetPoint作为巡逻点,多放几个
2.在蓝图中创建一个角色蓝图”BP_AI”和一个AIController”Con_AI”,骨骼选择”SK_Mannequin”,Anim Class 选择”ThirdPerson_AnimBP”,AI Controller Class选择”Con_AI”调整合适位置;
3.在BP_AI中新建变量”TargetPointList”,类型为“Target Point”的数组,选择”Instance Editable”和”Expose on Spawn”
4.将BP_AI拖入场景中,Details中Default里的Target Point List添加元素,自己拖进场景中的Target Point
5.创建AI行为树和黑板,分别命名为”BT_AI”和”BLB_AI”
6.添加黑板值,这个是作为巡逻点来存储的
7.在”Con_AI”中为AI选择黑板以及行为树,选择自己刚建立的
8.建立一个Task,命名为”BTTask_FindNextPoint”,这个Task是用来寻找下一个巡逻点的,每次找到之后给黑板值的”TargetPoint”赋值
9.编写Target逻辑。思路就是遍历“TargetpointList”数组,每次找到下一个目标点。
①先设置变量如下:
②EventGraph,首先找到AI控制器
③找到Character,获得之前给他的巡逻点
④循环遍历数组,设置黑板值
10.完善AI行为树,注意此时Task参数和黑板值的关联
BTTask_FindNextPoint:
MoveTo: