Unity游戏开发 怪物巡逻AI

今天实现的内容是怪物AI,看了一些网上的AI,不是特别符合我的需求,于是就自己研究了一种AI,大致和魔兽类的RPG游戏效果差不多。

AI效果如下:

1. 将怪物分为如下几个状态:

待机状态(该状态内有3种行为:原地呼吸、原地观察、和游走,可通过权重配置待机状态下三种行为发生的比例);

警戒状态(怪物向玩家发出警告,并持续盯着玩家);

追击状态(怪物跑向玩家)

返回状态(跑回出生位置,该状态下不再理会玩家)

2. 可以为怪物配置各项状态的数值

游走半径,待机状态下,怪物游走时不会超出这个范围,根据出生点计算

警戒半径,当玩家与怪物之间距离小于警戒半径时进入警戒状态,根据怪物实时位置计算

自卫半径,当玩家与怪物之间距离小于自卫半径时进入追击状态

追击半径,怪物追击玩家时,自身不会超出这个范围,超出后跑回出生点,可以理解为最大活动范围

攻击距离,当玩家与怪物之间的距离小于攻击距离时触发战斗(我这边是进入之前做好的回合制战斗场景)

3. 各项数值设定的关系如下

比较合理的关系是:追击半径>警戒半径>自卫半径>攻击距离,游走半径只需要小于追击半径即可

1)自卫半径不建议大于警戒半径,否则就无法触发警戒状态,直接开始追击了

2)攻击距离不建议大于自卫半径,否则就无法触发追击状态,直接开始战斗了

3)游走半径不建议大于追击半径,否则怪物可能刚刚开始追击就返回出生点

我这边自己测试时,设置的属性如下:

评论 20
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值