实现步骤:
1.鼠标右键点击内容浏览器,选择人工智能-》黑板

2.鼠标右键点击内容浏览器,选择人工智能-》行为树

3.添加AI控制器

4.命名为AIController_new
黑板可以理解为大脑,用来储存 如,存储去哪里的地点
行为树可以用来设置AI的行为逻辑
5.双击打开黑板,点击新建,创建一个布尔值,命名为是否看到玩家

6.再创建一个向量,命名为要去的地方

7.双击打开AIController_new,点击添加组件-》AI感知组件,用来感知AI周围是否有玩家或其它东西

8.在右侧点击 AI视力配置

9.继续设置一些细节

10.点击如下按钮

11.添加如下组件并连线

12.打开AI_BP ,点击类默认值,在细节面板中 AI控制器类选择为AIController_new

此时的效果:
AI看到玩家右上角打印True,失去视野打印False

13.双击打开AI行为树,创建如下节点,表示AI看到玩家就走左边的Sequence否则走右边

14.右键点击Sequence,选择添加装饰器-》黑板,这样是为了能够调用黑板中的变量

15.黑板键选择是否看到玩家,键查询选为已设置

16.右边的键查询选为未设置

17.左右两边的观察器中止选为Both

18.打开AIController_new,删除打印字符串的组件

19.创建如下节点并连线

20.在行为树中,点击新建任务

21.命名为随机找点

22.双击打开随机找点,点击 覆盖-》接受执行AI

23.删除AI_BP中所有的节点,防止蓝图和AI行为树冲突

24.选中如下区域进行复制

25.在随机找点中进行粘贴

26.

27.在AIController_new中添加运行行为树

28.在AI行为树中点击新建任务命名为寻找玩家


29.双击打开寻找玩家,点击接受执行AI

30.

此时的效果:

可以看到AI一旦失去玩家视野则进行随机找点,因此需要AI一直朝向我们
31.在AI_BP中,取消 将旋转朝向运动 的勾选

32.在类默认值中,细节面板勾选 使用控制器旋转Yaw

33.打开 寻找玩家,如下添加 设置焦距 节点

33.打开 随机找点,增加 清楚焦距 节点
