效果
步骤
1. 新建一个Actor蓝图类,命名为“TotalBulletsCategory”,用来表示子弹蓝图总类,后面会有很多不同类型的子弹会继承该类
打开“TotalBulletsCategory”,添加粒子系统组件、盒体碰撞组件和发射物移动组件
调整发射物重力范围为0
添加一个变量,命名为“ChoosedEnemy”,用来表示子弹将要射向哪个敌人
变量类型为“TotalEnemyCategory”的对象引用,勾选可编辑实例,生成时公开
2. 为“TotalBulletsCategory”创建一个子蓝图类,命名为“TowerBaseBullet_Child”
2. 打开“BP_TowerBase”,添加如下节点,当敌人处于检测范围内就发射子弹
3. 回到“TotalEnemyCategory”,在事件图表中添加如下节点
修改一下,只有当变量“ChoosedEnemy”有效的时候子弹才会追踪敌人,无效的时候直接销毁
4. 打开“TotalEnemyCategory”的子类“TowerBasedBullet_Child”,为其添加一个球体组件,用于表示子弹的外观
设置球体无碰撞,否则子弹可能会推着小人走
运行游戏效果如文章开头所示。