Decorator
Cooldown - 执行后冷却一定时间并且return false
Loop - 连续执行n次,但与Cooldown节点不能在一个节点中使用
Service
Set Default Focus - 设置面朝某物
EQS
Make Spatial Query
建议在蓝图中实现,而不是C++
Generator
Querier - 发出查询的物体
Center - 以某个QueryContext为中心
Arc Direction - 生成的方向
Tests:
Distance: To Querier - 居于距离查询者的距离进行测试
Trace: To Querier on Visibility - 对Context物体和生成点之间进行射线检测
Pawn Sensing Component
更早于AI Perception Component,更容易用,但是功能更少
![](https://i-blog.csdnimg.cn/blog_migrate/1a6f69659a10e39102e6acee94b887c9.png)
可以通过调节Character类中的Base Eye Height调节眼睛高度,使之与模型匹配
![](https://i-blog.csdnimg.cn/blog_migrate/9a9226432f53885f32821914659ea99f.png)
Tips:
ensureMsgf(Variable,TEXT("Blah Blah")) - 可以在为空的时候做出提示,更方便从Output Log中发现问题
绑代理的回调函数一定要加UFUNCTION反射,不然无法叫到!!!
项目代码
GitHub: https://github.com/yufeige4/ActionRoguelike
简单的攻击逻辑
在目标周围找到离自身最短距离的点进行攻击
从TargetActor至Querier以120度画扇形,在此区域中生成点
![](https://i-blog.csdnimg.cn/blog_migrate/6bdad19dbaccd8eb36fef13cc6ba6091.png)
根据距离Querier的距离作筛选
![](https://i-blog.csdnimg.cn/blog_migrate/7c2ea72ad8490536cdf631bb877ffe64.png)
将生成点和TargetActor之间进行Visibility通道的射线检测进行筛选,要求无blocking hit
![](https://i-blog.csdnimg.cn/blog_migrate/be949c57e09348c47af37795cd4876b1.png)
给怪物添加视觉感知功能