首页 > 代码库 > Bot怪AI
Bot怪AI
UC中只有一种怪Bot,这是一种很简单的怪,它不会跑,只会旋转并原地射击,所以也没有用什么行为树之类的,所以这里围绕Bot怪如何发现玩家、攻击玩家、被玩家攻击分析Bot怪
1 当游戏开始时
可以看到在编辑器时Bot怪是没有带武器的,是在游戏开始是把武器刷出来,放在手上的
2. 发现玩家
当游戏开始时,Bot怪就启动了一个0.5秒的定时器,执行CheckForPlayer去扫玩家,
CheckForPlayer实现是简单的,就是计算Bot怪的头与玩家的Camero的距离,如果小于一个值,就认为是发现玩家了,然后计算出Bot怪的旋转量,为什么要计算这个旋转量,因为Bot怪的视野,也就是玩家与Bot怪之间形成的夹角不能小于31度,否则Bot怪就无视玩家了
3攻击玩家
攻击玩家是Bot怪AI最有趣的部分,总体逻辑来说,Bot怪的Update(Tick)事件里,会一直检查是否发现了玩家,如果是就会一真调整自己的方向,使自己与玩家的夹角大于31度,然后会设置一个很重要的变量HasLOS,这个变量会改变Bot怪动画BP里的状态机由Idel转向Shoot,然后播放Shoot动画,Shoot动画会有一个Notify,通知Bot怪射击
Shotting动画里的Notify
当播放到SpawnProjectile这一帧时,就会触发Bot怪射击了
这时就调用武器射击
3Bot怪被刀划
Bot怪被刀划后,HitPoints-2,在击中位置刷一个血污效果,并且给它一个冲力,然后怪就死亡了,
4. 被子弹击中
-----------转载请标明出处
Bot怪AI
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。