其他分享
首页 > 其他分享> > UE4 行为树与EQS

UE4 行为树与EQS

作者:互联网

行为树

Composites:Selector,Sequence,SimpleParallel

Selector(选择):Selector 节点从左至右执行其子项,其中一个子项达成后将停止执行其子项。如 Selector 的子项达成,则 Selector 也达成。如 Selector 的所有子项未达成,则 Selector 未达成。
Sequence (序列):节点从左至右执行其子项,如其中一个子项未达成,将停止执行执行其子项。如子项未达成,则 Sequence 也未达成。如 Sequence 的所有子项均达成,则 Sequence 也达成。
(感觉Selector和Sequence的区别就在于是 ”或“ 和 ”且“ 的关系)
SimpleParallel(并行):所有子节点都运行一遍。

Decorators,Services,Tasks

Services: 定时执行一个操作,通常在根节点下的selector中执行,可以定时检查操作,常用于检查和更新黑板
Decorators:条件语句,附着雨一个Composite或者Task节点,并定义树中的一个分支或单个节点是否可以执行
Tasks:Task 是真正“执行”操作的节点,如移动 AI,或调整黑板值。
明确:使用服务节点和简单平行节点创造的树更简明,易于观察和理解。
调试简单:图表更清晰,便于纠错。此外同时执行路径更少,更易于观察正在执行的内容。
更易于优化:由事件驱动的图表如果没有同时执行大量子树,将更易于优化。

EQS

Distance:距离测试节点,将选择器选取的点用给予和参照内容进行距离测试。距离越远则分值越大,如果希望越近分值越大请调整Score中的Scoring Equation,将线性递增改为递减(Inverse Linear)。
Dot:使用点乘的方式,为选取点打分,值域范围0-1(点乘有负数,打分无负数,正面为1,背面为0,呈现扇形左右递增向1)。也可以对结果进行绝对值设定(勾选Absolute Value,结果为点乘后绝对值值域0-1,正面1,背面1,左右两边0)。点乘中的向量选取可以使用两点方式或是Rotation方式。
Gameplay Tags:使用标签进行询问测试(GamePlay Tags本身是为Actor查询操作提供分层,一般用于查询。关于GT使用,我后期会出一篇文章介绍)
Overlap:在采样点,使用通道检测方式,返回是否有符合通道标记的内容存在。如存在返回1,反之返回0。检测形状,Box,Sphere,Capsule。用于检测查询某一个点附近是否存在某一样东西。
Pathfinding:将采样点与内容进行导航寻路器测试,可达则分数1,不可达为0。它将用于最终测试点生成,返回一个可达测试点。
Pathfinding Batch:将采样点与内容进行导航寻路器测试,可达则分数1,不可达为0。它会返回所有可达点,供下个测试项目使用。
Project:投射测试。可以用来修正生成器采样点位置。两种模式:导航投射,在采样点为基准,垂直向上向下进行导航检测,碰到导航覆盖点则修正采样点位置。形状检测,不考虑导航,只要在通道碰撞成立,则修正采样点到新的位置。
Trace:射线测试。用来测试采样点,到Context参照点之间是否存在遮挡,这是重要节点,一般可以用来寻找可以用来躲避的采样点(从采样点到敌人之间存在遮挡则认定可以躲避)。存在遮挡分数为1,不存在为0。注意:需要考虑高度问题,采样点一般均在地面,从地面直接发射射线到Context可能会出现被非常矮的物体阻挡,可以通过调整Height Offset解决此问题。

总结

标签:采样,AI,EQS,Selector,UE4,执行,行为,节点
来源: https://www.cnblogs.com/biu-we/p/13604795.html