UE AI

本节目标:
Enemy看不到人时 随机巡逻
Enemy看到人时 跟随

UE里的AI感觉是一个非常典型的黑板风格(想找之前软件体系结构课上的笔记 结果找不到了5555),印象很深刻就是有控制器、有分发器、有黑板,就是解耦逻辑与数据。

AIController运行行为树,行为树可以从黑板里读取
行为树:希望AI进入的状态。通过在 行为树 中布局出AI可能进入的状态,有助于你了解进入这些状态需要创建何种类型的逻辑和规则。

行为树

看到玩家前-随机巡逻
看到玩家后-跟随玩家

每个Task最后别忘执行完成执行节点

Task - BTT_RandomPatrol

Task - BTT_FollowPlayer

黑板

目前只需要存一个变量就是HasLineOfSight

AI Controller

和蓝图类的绑定

和行为树的绑定

这个绑定比较灵活,Controller可以和当前的绑定也可以和别的行为树绑定

AI 感知添加在AI Controltroller组件中

【其实在这里有一个思索是 为什么不把AI感知添加在那个蓝图类里,最直观的原因是蓝图类里获取黑板不好? 感觉AI Controller是比蓝图Actor更抽象的一层概念 他更像定义一个大脑】

posted @ 2024-03-24 15:58  小帆敲代码  阅读(5)  评论(0编辑  收藏  举报