【虚幻4】UE4初学者系列教程合集-全中文新手入门教程_哔哩哔哩_bilibili
导航
RPG游戏Demo学习笔记一_weixin_52918492的博客-CSDN博客
UE笔记 —— 一个简单的AI
实现功能
在没有看见玩家的时候,AI会在可以动的范围中随机寻找一个点,然后移动到那个位置上,完成后AI会去寻找下一个点。如果看见玩家,则会看向玩家,并且会一直跟随玩家(一直获得玩家的位置,并移动到该位置),当AI的碰撞预设与玩家重叠时,则会播放一个攻击的动画,并且对玩家造成伤害。
目录
一、创建并设置相关蓝图&逻辑
蓝图总览
AI控制器
在AI控制器中添加AI感知组件,添加AI sight config,根据自己的需要设置AI视线的范围。
黑板
在黑板中创建相关变量,并且在AI控制器中对变量进行有效的赋值
任务
创建AI执行的任务
1、AI跟随玩家
重载函数: AI接受执行事件,使用设置焦距节点,让AI始终面向Player(在AI_Character中取消勾选将旋转朝向移动,并在类默认值中勾选使用控制器旋转Yaw),使用AI Move To节点,在执行成功后,结束执行。这样可以让AI在执行完任务后,再次执行下一个任务。
2、AI随机移动
AI随机移动的前提是AI并没有看见Player,此时黑板中的相关值为False,看不见玩家时应取消聚焦,并且让AI在可移动范围内随机寻找一个点,并移动到该点的位置,移动完成后同样要结束执行。
AI行为树
在AI行为树中搭建AI行为框架,黑板选择刚刚创建的黑板蓝图,为Sequence添加Decorator,选择黑板,然后进行相关数值的设置,比如控制流程执行的先后顺序,这里设置为Both,黑板的值选择刚刚设置好的布尔值SeePlayer,根据布尔值的真假,执行不同的任务。
动画
以准备好的攻击动画创建动画蒙太奇
在AI动画蓝图的状态机和输出之间添加一个节点
在AI的球形碰撞与玩家重叠时,播放蒙太奇动画,以事件设置定时器,循环播放动画。结束重叠时清除计时器
AI的武器
在AI的骨骼右手处添加Socket预览,在AI_Character中将武器蓝图附着到AI手上
AI伤害与死亡
角色对AI造成伤害
AI死亡时会销毁自身与身上附着的武器
二、链接,运行
1、在AI_Character中的Detail-->Pawn-->AI Controller Class选择自己设置好的AI Controller
2、在AI_Controller中,在游戏开始时运行AI行为树,选择刚刚所创建的行为树
运行