利用Unity协程实现一个简单的怪物寻路与跟随AI,通过分析怪物行为与逻辑,实现简单的平面怪物寻路与跟随效果。
分析
对于游戏中怪物的行为,简单归纳为如下几部分:
怪物在预设范围内随机移动。
玩家走入怪物视野范围,怪物跟随玩家移动。
进入攻击范围,怪物攻击玩家。
玩家脱离怪物视野范围,怪物状态回到1。
如下内容需要每帧检测一次:
玩家是否进入怪物的视野范围
玩家是否进入怪物的攻击范围
如下内容需要持续执行:
怪物在预设范围内随机移动
怪物拥有的属性至少有如下内容:
视野角度(ViewAngle),如字意。
视野半径(ViewRadius),即怪物能看到的最远距离。
攻击半径(AttackRadius),即怪物能攻击到的最远距离。
移动速度(MoveSpeed),即怪物的移动速度。
玩家引用,因没有使用射线检测,因此需要此引用来计算距离与角度。
为什么不用射线?因为射线还可以再水一篇。
同时需要的属性还有:
进入视野区域状态标识viewFlag。
其他内容按需添加,如动画等。
怪物拥有的方法至少有如下几个:
自由移动Move
扫描视野 SeeOther
跟随玩家 FollowTarget
攻击玩家 Attack
同时还需要实现的方法:
On