欢迎光临散文网 会员登陆 & 注册

17_167~179EnemyBehavior

2023-03-24 17:36 作者:俯瞰万千风景  | 我要投稿

167 Makeing Enemies Move让敌人移动

AI Pawn NavigationAI棋子导航

创建导航网格

放置与场景中,按P键可以显示可以移动的区域

168 从mixamo上导入了Enemy的walk attack run的动画

169 Blendspaces混合空间

Blending Between Different Animations不同动画之间的混合

创建混合空间

Blend Space 1D


打开动画蓝图,来到idle状态中,删除之前的动画,拖入创建的混合空间

然后我们需要获取Enemy的移动速度

来到事件图表中,从目标获取character movement 并将其提升为变量


我们来到BlueprintThreadSafeUpdateAnimation 函数中,接着上次设置的内容

创建一个Property Access,然后获取到character movement中的velocity,并获取其中的Vector Length XY,赋值给GroundSpeed


最后返回这里,将GroundSpeed,赋值给混合空间的参数

编译之后,在游戏中就可以看到Enemy跑起来了

在Enemy蓝图中,设置如下

取消"使用控制器旋转Yaw"


选中

或者在C++中设置

在Enemy的构造函数中设置


最后调整一下walk的速度 和混合空间中的值,使其与动画相符,不会滑步

170 Patrol Targets巡逻目标

Adding patrol Targets for the Enemy为敌方增加巡逻目标

高级的文章:https://zhuanlan.zhihu.com/p/390375061

创建新变量,用于存储当前目标和巡逻目标组

编译代码之后,回到enemy蓝图中,删除之前的节点

然后在地图上添加 Target Point

设置地图上Enemy实例中的AI Navigation

运行一下,Enemy就可以向Target移动过去了

171 Selecting partol Targets选择部分目标

Patrolling to Diferent Targets巡逻到不同的目标

添加多个点

然后在Tick方法中添加循环判断,让Enemy在多个点中跑起来


他在视频中提到了,如何避免Enemy多次随到同一个目标,他是将多个目标添加进入了一个数组

然后执行这个数组

我的思路是 生成序号,让moveto执行这个序号,避免重复

172 Patrol Wait Time巡逻等待时间

Adding a wait time between patrol points在巡逻点之间增加一个等待时间

重新调整一下代码

新建MoveToTarget方法,专门用来放置moveto的功能


替换掉beginplay和tick里面的代码


需要用到FTimerHandle 计时器

创建一个计时器和计时器调用的方法void PatrolTimerFinished()

同时创建一个最大时间和最小时间用于随机


在beginplay中,调用方法

然后将其他地方的movetotarget方法 替换这个

调试代码,进入有游戏,发现enemy会到达目标点后进入等待

173 Pawn Sensing Componentpawn感应组件

Chasing the character when seen被看到时追赶角色

创建组件和初始化

创建方法

174 Enemy States

Patrolling, Chasing , and Attacking巡逻、追捕和攻击

给敌人添加状态


新建状态的变量,初始化为巡逻状态

给tick里面的方法添加上状态判断

在Seenpawn方法里面,加上跟踪玩家的方法

175 Enemies Losing Interest敌人失去兴趣

back to patrolling 回归巡逻

修改CheckCombatTarget方法

当角色不在距离内,则降低移动速度,向巡逻点移动


176 Attack Radius攻击半径

tering the Attacking state进入攻击状态

177 Agro When Hit被攻击时的敌人

Let's Anger the Enemy让我们激怒敌人

178Arming the enemy武装敌人

getting more weapons获得更多的武器

ue5:修改静态网格体中心点坐标位置BV1v3411m7qv

将导入的模型修改中心点位置后,添加为新的武器

179小结


17_167~179EnemyBehavior的评论 (共 条)

分享到微博请遵守国家法律