1.NPC巡逻部分已经基本完成了,现在该为NPC添加感官了,而NPC感官一般有三种视觉、触觉、听觉,这里主要添加视觉
打开BP_NPC添加组件AIPerception(感知)
2.创建感知后,在右键AIPerception-添加事件-OnPerceptionUpdata(目标感知更新触发事件),将Stimulus拉出来选择中断AIstimulus,感知是通过目标标签来看到目标的,所以我们打开玩家蓝图添加tag,即可使NPC视觉观测到玩家,只要两个分支都为 true 则NPC可以看到玩家
3.此时我们可以在细节中调整AIPerception,首先我们可以创建AI视力配置,
实现:可以使用默认设置
视径半径:代表NPC可以看到并做出反应的最大距离
失去视线半径:代表视力的拓展范围,举例说明可以看到玩家但是不会做出反应的距离
次要视觉半角角度,就是代表NPC正面能看到的范围,半角角度90代表NPC视野为180,半角角度拉满代表NPC视野360
按归属检测:为NPC划分阵营在蓝图中是全部勾选的,因为只能C++为NPC分配阵营
最大年龄:代表发现玩家后忘记的时间
3.在行为树黑板键中创建是否能看到玩家的布尔
4.在NPC蓝图中获取黑板键,将其设置为布尔,通过创建文字命名(将黑板键的名字复制到这里)获取与黑板键的联系。看到玩家时为true,失去玩家视野为false。
5.创建一个 Sequence 并添加黑板键 Sense player 为已设置 ,为巡逻也添加相同黑板键并设置为未设置,那么在看到玩家后NPC会触发播放动画Play Animation 表示已经看到玩家 完成!