制作思路
- 将三维坐标转化为二维坐标获取玩家的视野范围
- 以玩家为中心的一定范围中创建随机坐标点作为出生点
- 如果出生点在玩家的视野范围中,则不生成敌人
- 如果出生点在玩家的视野范围外,则生成敌人
详细制作案例
[!NOTE] 简述
制作一个敌人刷新机制,刷新的敌人总是在玩家视口外被生成
1.在函数库中创建玩家视口范围的检测函数(重点)
这个函数用于判断敌人生成位置是否在玩家的视口中
2.在敌人角色蓝图中创建敌人出生点函数(重点)
这个方法用于判断初始位置是否不在玩家的视口中
- 如果不在玩家视口中,则将生成位置更改为这个随机位置,并关闭计时器,同时调用敌人的追击函数
在敌人角色蓝图的开始运行事件中通过定时器调用敌人出生点函数
之所以这里要使用定时器来进行函数的调用是因为要确保随机的出生点位置是符合条件的(在玩家视口范围外)
3.通过对象管理器来生成敌人
因为敌人还没有进行对象池设计,因此先在此调用以确认敌人被正确生成(Transform的参数是可以忽略的,因为生成的具体位置由敌人的角色蓝图来提供)