首页 > 移动平台 > 详细

UE4_简易AI_基础移动

时间:2020-05-19 20:29:42      阅读:246      评论:0      收藏:0      [点我收藏+]

首先,要给AI一个8方向的基础移动动画,

之前已经做了一个了,就是我们所控制人物的八个方向的移动,直接复制用就行了

就下面这个

技术分享图片

 

 

做了些调整,首先把 Ai的最大移速改成了600,然后在180处添加了八个方向的走路动画,把跑步的动画移到了360处。

技术分享图片

 

 

找到之前为AI设置idel的动画蓝图,

技术分享图片

 

删掉,新建一个状态机

 技术分享图片

 

把刚刚的弄好的混合空间拖进来,

 技术分享图片

 

 双击打开,需要传入两个变量,速度和方向

技术分享图片

 

 在事件蓝图里把这两个值设置一下

技术分享图片

 

 然后拖出来一个nav碰撞体,在盒子里,AI是有导向的,也就是AI只能在这个大盒子里移动,在盒子外无法移动。

技术分享图片

 

 在Ai的蓝图里,先把最大移动速度改到360,目前这个逻辑就是让他一直向右运动。

技术分享图片

 

 

把昨天写的伤害流血音效之类的整理一下,右键重叠到节点

技术分享图片

 

 

 新建一个变量,类型为character,用来存放AI的目标character(一般就是玩家)

然后使用find look at rotation节点,通过两个坐标值计算出方向(起点是AI,终点是target character)

技术分享图片

 

 

然后就是要让AI 知道,谁是target character 

在Ai里添加一个角色感知,PawnSensing

技术分享图片

 

 技术分享图片

 

 添加这个事件,on see pawn,我们把Ai第一个看到的角色设置为target character技术分享图片

 

 技术分享图片

 

 所以,综合一下,这个蓝图 的效果就是,

AI一直面向我们player

AI一直向右走

结合就是AI 面向我们转圈

(感觉自己是太阳,他俩是行星...)

技术分享图片

 

 

 这两个AI一次死盯着我们,如果想改变一下,让他们慢慢转向我们,可以用一个类似 lerp 的节点  rinterp to

技术分享图片

 

 比较一下AI自己和目标的距离,如果大于10米,就把AI的最大速度改到360(跑步状态),如果小于10米,就设为180(走路状态)

技术分享图片

 

 发现切换速度的时候比较僵硬,是从180一下到了360

所以也加一个逐渐减少的过程

技术分享图片

 

 没有问题了,把后面关于改变移动速度的打包成一个节点

技术分享图片

 

 

 

另,这是当看不到目标时 随机移动的蓝图

delay3秒是因为要让他每3秒重新选一个点移动,因为最开始的事件是event tick嘛

技术分享图片

 

UE4_简易AI_基础移动

原文:https://www.cnblogs.com/reluctante1/p/12918843.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!