UE4 AI行为树简单学习

本文介绍了如何使用AI行为树(BBT)和AIController在游戏开发中创建和管理AI任务,包括黑板的作用、行为树结构(如selector和sequence)、Task的装饰器和事件处理,以及如何通过PawnSensing组件设置AI行为。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

AI行为树,创建AI的新任务需要使用蓝图BBT_Task,task可以有很多个。黑板相当于是存储全局变量的东西,一个行为树必须要有一个黑板。

如果让怪物自行执行命令需要黑板和行为树,还有AIController。AIController可以用来设置执行哪个行为树,行为树里面包含的则是Task。执行行为树方法:Run BehaviorTree。需要在敌人蓝图里的pawn下面将创建的AIController设置进去即可!

AIController和普通的蓝图没多大区别,都有beginplay事件和Tick节点用法也是相同的。增加的新组建一般都会放在这里面。正常来说使用最多的是PawnSensing组件,这个感应组件设置AI的警戒范围。Peripheral Vision Angle目标角度,SlightRadio是视线半径。

每个行为树里面的task还可以添加装饰器:Add Decorator/Blackboard黑板。这里右边会有Blackboard Key是黑板键值是用来调用变量的。Key Query相当于布尔值有两个选项Is Set和Is Not Set,如果选中的黑板键值是已设置的,则会走下面分支,而not则是没有选中的分支。

Observer aborts是观察着终止,比如AI在执行当前行为时发现玩家,如果设置为None则会执行完当前行为树后才会执行发现玩家的行为,如果为self则会立即打断执行发现玩家的行为。

Task里面使用override函数,其中receive abort是接受终止的时候执行,receive execute是接收执行,receive tick就是每帧执行。一般经常使用的是receive execute。在task当前指令结束后需要为task调用Finish Execute指令结束当前任务。否则会一直卡在这里不会执行后续的行为。

Taks里面可以将数值保存起来通过Set Blackboard Value As...这里面有很多类型,根据需要设置对应方法,此方法设置后的Key值需要提升为变量并且设置为全局,这样在行为树里面点击该Task的时候对应的Key的名字就可以设置将任务里的值设置给黑板里面的哪个数值。

行为树里面包含默认的root节点,这是根节点无法删除。由此节点可以延伸出selector和sequence两个节点。其中selector是选择节点,假如有A和B两个执行内容,如果A的内容执行成功则永远不会执行B。而sequence则是执行A后再执行B或者更多,以此循环。

Move to里面acceptable Radio是设置移动到目标相差多少距离。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值