能帮到你的话,就给个赞吧 😘
获取actor位置和获取世界位置 区别
获取玩家角色
获取黑板
AI move to
Target Actor:跟踪对象,持续跟踪此Actor——有值时,Destination失效
Radius:与目标间的距离
stop:到间距时是否停止
获取AI控制器
AI—AI控制器:同玩家控制器一样,NPC由AI控制器控制
AI控制器:通过行为树或代码 实现 控制:将控制器与角色解耦,使得可以独立编写。
创建控制器:蓝图——AI controller
角色指定控制器
功能
管理行为树
负责导航系统,控制移动
访问黑板数据——通过黑板与其他AI模块通信
行为树:AI的逻辑:将行为树与控制器解耦,使得可以独立编写。
执行流
层序遍历:层序遍历每个节点,根节点必须连接 selector/sequence
条件判断:根据装饰器判断节点是否激活,如 hp低于10 逃跑
执行节点:任务节点完成具体动作,如逃跑,攻击
状态返回:可根据任务返回 success,failure,running,执行后续逻辑
行为树节点
任务节点:单独的节点,通常用于实现角色的行为,如 攻击,逃跑,移动。
任务节点必须有返回,如 success,failure,running
完成执行
装饰器:装载在节点上,为节点提供判断。数据由节点指定。
条件判断
中止循环
服务:装载在节点上,为节点提供数据。数据由节点指定。服务为实时更新数据——只要分支运行,就一直在后台运行
服务装载在节点上 由节点调用数据——服务必须将key设为公开,由节点指定。
复合节点
selector:从左到右遇到一个成功执行。
sequence :从左到右全部执行,遇到一个失败,则停止。
simple paralle:全部分支一起执行
控制器指定行为树:运行行为树
感知系统:AI的感知系统,如视,听,伤害等
配置
检测中立方
目标感知更新时
stimulus:感知组件检测到变化后,生成关于刺激源的Stimulus结构体
导航网格系统:负责AI自动寻路,被大部分寻路节点调用
环境查询系统:AI可以查询环境中 符合条件的目标
黑板:存储AI所用到的角色变量,其变量可直接被控制器和行为树节点访问
行为树的节点 数据并不互通,可将节点看作一个单独函数,函数间要通信,则必须使用黑板这个共享数据。
行为树中的节点可直接 访问 黑板变量
行为树指定黑板
控制器获取黑板
AI动作控制器:AI决策出的动作具体执行
AI调试器
AI事件
Receive Activation AI
Receive Execute AI