查看: 1237|回复: 1

Unity3D做一个手游怪物AI,需要掌握什么

[复制链接]
发表于 2022-11-19 16:31:41 | 显示全部楼层 |阅读模式
ARPG类型的手游
发表于 2022-11-19 16:38:26 | 显示全部楼层
ai是个复杂的实现。
    1。状态转换。例如被攻击后转向敌人,释放魔法后进去休息状态,敌人过于强大ai会逃跑,这些问题首先直观的使用if else语句,可以这样的ai通常非常难以写出来,而且ai的修改会很麻烦,这时候业内惯用“有限状态机”解决此问题。
    2。路径规划。怎样从A点到B点要绕过中间的障碍物,这需要算法解决,非常成熟的解决方案就是 A*寻路(A星寻路算法),这中算法适合解决固定障碍的路径规划,如绕过山,河,沟不可移动的障碍。另外点下更复杂的战术式寻路,如避开敌人火力区的路线,避开地面雷达的飞行路线等。
    3。避开障碍物体。其实这也属于“路径规划”类的问题,只不过此问题解决的是动态的障碍,和上面的第2点有非常大的区别。如20或者200个角色同时运行到一个目标,如无有效的算法让彼此以合适方式避开这个游戏效果是非常差的,常用的算法有如Flocking算法,用合力的方式计算朝向与速度,将角色分为三个基本的行为:聚集,分散,列队 去解决,这一算法用的非常广;更加复杂的算法如RVO算法。
    4。一些移动行为算法。如:追赶,逃避,插入,避开墙等等。
    再次点下开头:AI的实现是个非常复杂的过程,不止是算法上的,后期各项数值的调试迭代磨合是非常需要耐心的,以上4点是很基本需要掌握解决的方面。
    纯手打,希望对你有帮助。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 加入联盟

本版积分规则

快速回复 返回顶部 返回列表