关于AI寻路的一点想法
先说目前的进度,现在已经可以实现全自动索敌+移动+攻击,但是我不知道如何处理障碍物,因为我想做的游戏是类似暗黑破坏神大秘境这类的随机地图+随机敌人,然后玩家就杀杀杀,爽就完了。并不是很适合做NavMesh。
从一开始我就知道AI寻路不好弄,这不是简单的你跑到某点,因为这是FPS,玩家一般都在不停地高速移动,然后各种躲掩体。 那么我,不停地重新算最佳路径,显然是对资源的浪费。
但不管怎么弄,AI还是要先去读地图数据,这个是最最基础的。否则一切都免谈,我看各种插件,他们都是要扫描地图的,想要效果好,速度都慢,,然后我去翻了一下相关的技术贴,就是那些算法是怎么样的思路,看了两秒我就放弃了。显然我学不来。(是 google的技术,我看不懂 哈哈)
我打算换个层次了,让机器人尝试去随便找找,限定时间内还找不到player,就直接飞起来,如果这还不行,那活该机器人摸不到你,对不?
于是 产生了如下思路
机器人用射线扫描周围,扫到player,就开始追杀,如果距离合适就开枪
追杀过程中,player 大概率会躲进掩体,而我的游戏逻辑中,子弹是不允许穿墙的,所以机器人被迫要拥有寻路功能
由于决定了机器人在一段时间后还找不到人就能直接飞起来,所以寻路AI 可以极大地简化,我只需要扫描前方的物体是不是障碍物就行了,如果是 随机转左或者转右,走几步,重复找人的逻辑。
飞起来以后就简单了,直接从高空向player冲过去,进入射程就开枪,如果这都搞不定,那也是player的本事了。
那么就这样吧,unity 的学习之旅 应该也差不多了, UE5已经安装好,只要工作别太忙就能搞好。