UE4敌人AI,Roll点数特别好用

[之前一篇博文]讲了AI的一些基本思路,后来又看了一些关于AI的教程,文档和神秘代码之后,发现最适合自己的还是那个思路。毕竟UE4的路很多,选择自己顺手的才是最适合的。

经过一些修改之后,AI控制器蓝图我已经基本不用了,由敌人的父级蓝图来进行一些关于AI控制器的数值传递与一些初始化工作。整个AI最核心的部分就是行为树和第一个选择器上的行为树服务蓝图,这个思路依旧不变。不过随着黑板键值越来越多之后,需要公开变量也越来越多,这是一个待解决问题。

20170529_01_BBT_service.jpg

眼尖的你可能已经发现了,选择器上有一个前置条件就是在不为闲置的时候运行行为树,这个主要作用就是在AI之间对打胜利之后清除仇恨。由于目前还没做队友AI的相关内容,所以加了这一条件。

20170529_02_AIServiceBP.jpg

这是目前行为树服务蓝图的内容。主要是根据与目标距离来选择部分攻击。让玩家在各个距离段都感受到压力才是我的目标。当然,AI一直攻击没完没了,缺少平衡是绝对没什么乐趣可言的。在之前的博文中我也有截图,利用欲望点来控制AI的攻击频率。

20170529_03_DesirePointCompare.jpg

同时利用CompareInt节点,让欲望点也可以控制AI的行动,来决定普通攻击或者是重击等行为。CompareInt节点非常方便,可以让AI的行动进一步随机化。

20170529_04_ActionPoint.jpg

在后来我又增加了“行动点”变量来进一步控制AI的攻击频率,在每次攻击之后都会消耗“行动点”来防止AI连续攻击过多。不过不建议把行动点设置太高,会让AI看起来略微奇怪。

之前说的坑:

清除黑板键值这件事已经不干了,这是个错误的方向。行为树节点Decorator里的Flow Control不要随便设置即可,尤其是中止设置,除非你清楚这到底是干什么的,否则不要去动这个选项。

© 2011 - 2023 熊窝 基于 Hugo 构建,使用 NordTheme For Hugo 主题