AI智能
改变未来

UE4蓝图AI角色制作(五)之建立AI感知

10、建立AI感知

在介绍完理论知识后,我们将为AI角色添加一个AI感知组件,首先,我们将设置第一种感受——视觉,接着,我们会把玩家角色标记成AI能够感知的对象,为此,我们将为角色添加一个刺激源组件。

首先为AI角色添加一个AI感知组件,在内容浏览器中打开“AI ThirdPersonCharacter”,找到左上角的组件面板,选择“添加组件”,然后输入“AI感知”直至在下拉菜单中看到它,选中它,然后找到右侧的细节面板。在细节面板的“AI感知”分段中,找到“感官配置”,当前是一个空数组。这意味着默认状态AI不会有任何感官。点击加号图标,在数组中添加一个元素,并在下拉菜单中选择“AI视力配置”,现在AI就获得了一种感官。展开这个分段,然后展开“感官”分段,查看感官配置的全部细节。“视线半径”定义了AI能够感知到目标的距离;“失去视线半径”则定义了查看已被看到的目标的最大视线距离;底部是“次要视觉半角角度”定义了AI视线相对于AI本身正向向量的锥角。暂时我们无法定义目标是敌人、中立单位或是敌方,所以直接勾选“检测中立方”选项。之后在配置玩家时,它会被正确地识别为中立。

接下来,我们需要将玩家角色标记为刺激源,这样AI就可以在场景中看到玩家。首先在内容浏览器中打开第三人称玩家,在组件面板中点击“添加组件”按钮,输入“AI感知刺激源”,添加组件后,选中它。在右侧细节面板中,在“AI感知”分段中,勾选“自动注册为源”。现在我们需要确定其为正确的感官注册源。在感官注册源中添加一个元素,在下拉菜单中选择“AISense_Sight”。

11、AI感知和Gameplay调试器

在这一部分,为了更好观察AI角色,需要将AI角色静止,这只需在其蓝图中,使用“Alt+左键”将事件“Beginplay”连接的线取消即可。记得编译。在播放游戏前,我们最好禁止临时抗锯齿,这是因为TAA工作时会把若干帧混合在一起,这样单像素线条,例如我们即将看到的调试线条会很难看到。找到“项目设置”中“渲染”,“默认设置”,然后找到“抗锯齿方法”,在下拉菜单中从“临时抗锯齿”改为无。

现在我们播放游戏,激活Gameplay调试器,按1和2数字键取消行为树和AI相关信息,按5来显示感知信息,如图所示,如果玩家周围出现绘制的球体,则说明此时玩家可以被AI观察到。信息“视线”是1表示完全可见;“age”表示感知数据的年龄,其值为0表示是最新的信息。

按“Tab”键进入旁观者模式,拉开距离如图可以看到绿色和粉色的边界线,说明AI角色的感知距离过大,不合适。我们可以调整视觉感官的参数,让他更加符合当前的场景大小。回到AI角色的感官配置,大幅降低内测和外侧的范围。

赞(0) 打赏
未经允许不得转载:爱站程序员基地 » UE4蓝图AI角色制作(五)之建立AI感知