关于项目中怪物AI的一些心得

前言

在做ARPG游戏,我负责怪物的AI模块,做了大概3个星期,有些功能实现了,有些模块因为太复杂能力不够放弃了很满意,不过确实从中学到了不少东西。

需要实现的功能

怪物从ObjectPool出现,A*算法我也只是了解各原理,暂定使用Unity自带的Navigation组件导航。

遇到问题:对象池动态加载后发现怪物无法自动导航,最后放弃使用对象池,使用instantiate生成,有空的话要研究一下,下一次要使用对象池。

怪物遇到英雄要实现包围算法,刚开始决定在英雄的身上加6个Vector3,将这6个points依次赋值给怪物,然后实现包围效果。1.0

包围1.0使用后发现跟英雄的耦合度太高,决定要降低耦合度,将6个点改为实时判定,在怪物包围方法上实时判定6个point,再将6个点位置赋值给怪物。2.0

代码写出后发现这样包围效果不好,因为怪物接近英雄后经常会先判定6个点的位置,经常走到不是离他最近的位置,导致怪物如果跟随英雄实时更新位置会看起来显得十分怪异,网上查了些攻略,貌似大神是用群聚法计算的,我水平有限,占时决定将

6个点再次进行判定,然后寻找最近的点,实现包围效果。3.0正在尝试。
//文章尚未写完,明天更新进度。。。

你可能感兴趣的:(关于项目中怪物AI的一些心得)