找回密码
 立即注册
楼主: 仗剑走天涯

[AI] 浅谈Unity3D中的AI

  [复制链接]
发表于 2012-11-12 21:51 | 显示全部楼层 |阅读模式
AI,个人感觉有几个部分组成
1、寻路,这个是比较重要的
插件很多,我只用过SimplePath,相当强大,目测是用了A*算法。
跟A*相关的算法还有几个,但是A*是公认的效率最高的算法(就是在准确率和运算速度上权衡下来更好)
A*算法,大学课本、网上代码都已经很多了,移植一个过来基本就可以搞定所有的寻路算法了。
不过对我这种懒人来说,SimplePath还是挺好用的

2、有限状态机
这个也是必须的,好比FPS游戏里的敌人,在自己半径20米之外无人就进入Idle状态。检测到20米内有人,就进入FollowRun状态。进入15米就进入Shot状态。血为0,则进入Dead状态。当然有多少状态,状态间如何切换,全凭你自己的设计。可以用switch,if来切换,也可以用table来切换。有限状态机,有限的意思就是这个敌人的状态是有数的,可以预测的。

当然,你可以说有限状态机不够只能。你也可以设计一个会自我学习的AI(什么蚂蚁算法、神经元算法很多很多),没研究过就不说了。不过目前市面上的游戏,基本都是有限状态机的,只要你把可能的状态都考虑到了,一般就足够了。

3、对话系统
这个不用说了,会和你对话的机器人绝对是会让你感觉更真实的。这个做法很多,一般就是内置固定的几句。需要特定情况触发。当然这个要做好,也是无底的。比如网上很多的对话机器人。

4、一定的随机性
打个比方,敌人在巡逻的时候,可以在一定范围内随机寻路。但是大方向还是根据寻路算法来的,这个可以增加游戏的趣味性。

先胡侃到这里吧,以后想到了再说
发表于 2012-11-12 22:17 | 显示全部楼层
高手 路过看看{:5_435:}{:5_435:}
 楼主| 发表于 2012-11-12 22:20 | 显示全部楼层
我不是高手,每个人都是我的老师。

5、刚才有想到一点,不过不是很重要
就是反馈系统
敌人可以根据你的应对,相应的做出不同的应对。这个比较抽象了,也可以归到“有限状态机”
发表于 2012-11-13 14:35 | 显示全部楼层
强烈支持楼主ing……
发表于 2012-11-13 15:05 | 显示全部楼层
看到这帖子真是高兴!
发表于 2012-11-17 23:54 | 显示全部楼层
学习了{:5_412:}
发表于 2014-5-27 11:25 | 显示全部楼层
学习了 谢谢   
发表于 2014-11-11 06:36 | 显示全部楼层
学习了 谢谢
发表于 2017-2-22 13:09 | 显示全部楼层
很不错
发表于 2017-2-22 13:09 | 显示全部楼层
顶顶多好
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-12-25 09:39 , Processed in 0.070807 second(s), 21 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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