【UE4 塔防游戏系列】05-制作可跟踪旋转的炮塔

目录

效果

步骤

一、设置游戏观察视角 

二、设置PlayerController

三、制作可跟踪旋转的炮塔


效果

 

步骤

一、设置游戏观察视角 

在视口中调整好位置,能够看到敌人行走的全部路线即可。然后在此处创建CameraActor

 打开关卡蓝图,设置使用这个相机的视角

 在世界场景设置中,默认的pawn类选择None

 此时运行游戏,观察视角就是固定的观察视角。

二、设置PlayerController

打开“TaFangGamePlayerController”,勾选显示鼠标光标和启用点击事件。

三、制作可跟踪旋转的炮塔

3.1 新建一个Actor蓝图类,命名为“BP_TowerBase”

 

3.2 找到用来作为炮塔的骨架网格体如下:

在“BP_TowerBase”中添加该骨架网格体

 接下来为了让炮塔能够检测范围内的敌人,在事件图表中添加如下节点

首先创建一个定时器,定时器每隔0.5s执行一次自定义事件,然后将定时器作为变量“DetectEnemiesHandler”

 自定义事件命名为“DetectEnemies”,表示用来检测炮塔周围的敌人

 新建一个数组变量,命名为“AllEnemys”,用来储存炮塔检测到的所有敌人

 首先清空数组“AllEnemys”,检测球形范围内的所有Pawn对象

 将检测到的Pawn对象数组进行遍历,判断数组中的每一个对象的类型是否是“TotalEnemyCategory”类,如果是的话就将其加入数组“AllEnemys”

 遍历完成后通过数组“AllEnemys”的包含的元素个数判断炮塔当前是否检测到敌人

 如果炮塔检测到了敌人就从检测到的敌人数组中随机选择一个元素作为当前炮塔即将锁定攻击的敌人。将随机选择到的敌人作为变量“ChoosedEnemy”

 找到炮塔要攻击的目标后就清除这个定时器。

接下来让炮塔根据检测到的敌人进行旋转,当被选中的敌人是有效时,让炮塔进行旋转

判断当前选中的敌人是否脱离范围,如果脱离范围就重新开始检测。

 运行效果如文章开头所示。

猜你喜欢

转载自blog.csdn.net/ChaoChao66666/article/details/131723936