UE4_简易AI_基础移动

摘要:
首先,要给AI一个8方向的基础移动动画,之前已经做了一个了,就是我们所控制人物的八个方向的移动,直接复制用就行了就下面这个做了些调整,首先把Ai的最大移速改成了600,然后在180处添加了八个方向的走路动画,把跑步的动画移到了360处。在Ai的蓝图里,先把最大移动速度改到360,目前这个逻辑就是让他一直向右运动。

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

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

就下面这个

UE4_简易AI_基础移动第1张

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

UE4_简易AI_基础移动第2张

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

UE4_简易AI_基础移动第3张

删掉,新建一个状态机

UE4_简易AI_基础移动第4张

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

UE4_简易AI_基础移动第5张

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

UE4_简易AI_基础移动第6张

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

UE4_简易AI_基础移动第7张

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

UE4_简易AI_基础移动第8张

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

UE4_简易AI_基础移动第9张

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

UE4_简易AI_基础移动第10张

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

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

UE4_简易AI_基础移动第11张

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

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

UE4_简易AI_基础移动第12张

UE4_简易AI_基础移动第13张

添加这个事件,on see pawn,我们把Ai第一个看到的角色设置为target characterUE4_简易AI_基础移动第14张

UE4_简易AI_基础移动第15张

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

AI一直面向我们player

AI一直向右走

结合就是AI 面向我们转圈

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

UE4_简易AI_基础移动第16张

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

UE4_简易AI_基础移动第17张

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

UE4_简易AI_基础移动第18张

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

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

UE4_简易AI_基础移动第19张

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

UE4_简易AI_基础移动第20张

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

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

UE4_简易AI_基础移动第21张

免责声明:文章转载自《UE4_简易AI_基础移动》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Iscroll应用文档Asp.Net母版页的使用下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

UE4_武器1_创建武器

把所有武器单独为actor,当某些事件被调用时,会镶嵌到玩家手的插槽上。 找到人物骨骼和动画,以长矛为例,在左手创建一个插槽,然后在插槽上右键添加预览,选择长矛的模型,就可以看到 动画加上长矛的预览了。 数据表 基于结构体创建的一个表格,每条信息相当于一个结构体 可以被快速搜索到,通过row 可以从外部导入进来 先创建一个武器的结构体。 其中动画的类型是...

UE4在Android调用Project Tango

  Project Tango应该说是Google一试水AR的设备,其中Project Tango主要二个功能,一个是获取深度信息,如MS的Kinect,有相当多的设备都有这个功能,二是第一人称相对定位,这个就没那么常见了,如果对这个设备有更深的兴趣,可以看知乎上的这二个链接。   Google Project Tango获取深度信息的原理是什么?   P...

(转载)(官方)UE4--图像编程----FShaderCache

FShaderCache   总览 FShaderCache 提供的机制可减少游戏中着色器的卡顿。它支持 OpenGLDrv 和 MetalRHI RHIs,可在 Mac、Linux 和 Windows 平台上使用。 可通过多个控制台命令启用或禁用 FShaderCache 功能。   控制台命令 描述 r.UseShaderCachin...

jquery hover事件只触发一次动画

最近工作时遇到个关于动画的问题,如下: [javascript] view plain copy  $("div").hover(       function() {           $(this).animate({"margin-top":"100px"},1000);       }, function() {         ...

iOS--使用imageView播放连续的几张图片

最近要做一个商城类的app,所以在加载数据的时候,为了防止界面假死,就需要加上制定图片的动画效果,下面就是用imageView播放连续的几张图片 附上代码:1,2,3,4,5是一组动态图片的5张图片 关于imageview的所有属性:- (void)startAnimating;开始动画- (void)stopAnimating;停止动画- (BOOL)...

过渡(transition) 动画(animation)

过渡(transition) 1.transition   -通过过渡可以指定一个属性发生变化时的切换效果,通过过渡可以创建一些好的效果,提升用户体验。   -可以同时设置过渡相关的所有属性,只有一个要求,如果要写延迟,则俩个时间中第一个是持续时间,第二个是延迟时间。 2.transition-property(指定要执行过渡的属性)   -多个属性间用“...