首页 > Unity3D频道 > 【Unity3D研究院之游戏开发】 > Unity3D研究院之游戏开发中的人工智能AI(三十八)
2012
11-05

Unity3D研究院之游戏开发中的人工智能AI(三十八)

         很久没有写Unity3D相关的东西了,是因为这段时间我深陷一款IOS的软件开发中。不过以后我还是会回归Unity3D游戏开发的。什么语言都在用,生活与工作都挺给力的嚯嚯。今天还是打开了久违的Unity3D编辑器,那我就写点东西吧,今天我想说的是游戏中的人工智能。人工智能这个东西在游戏中是非常重要的,人工智能说简单了就是根据随机的数字让敌人执行一些动作或逻辑,说难了TA需要一个非常复杂的算法,本文我主要说说Unity3D中人工智能的脚本如何来编写。

        首先你应该搞清楚的一点AI脚本属于一个工具类脚本,工具类脚本的含义就是他应当是由策划人员来绑定游戏对象使用的。也就是说AI脚本程序员应当写的非常的灵活,策划人员可以通过修改脚本对外的变量数值接口就能控制其中的敌人AI。接着创建一个c#脚本AI.CS ,如下图所示,目前脚本对外留出枚举接口变量,策划人员在使用这条脚本时选择对应敌人类型即可。(注:这里仅仅是示例,细致的话还可以将很多敌人详细的信息写入,如:攻击速度、技能类型、移动速度、命中率、攻击百分比、等等,但是一定要让你的脚本写的比较灵活,策划人员在外面选择即可完成)因为目前是一个示例,所以我在这里只简单的区分的敌人类型。

 

Unity3D研究院之游戏开发中的人工智能AI(三十八) - 雨松MOMO程序研究院 - 1

 

下面时这段简单AI的脚本

AI.CS

 

 

如下图所示,我们在游戏世界中添加两个敌人,此时给敌人们都绑定上AI的脚本,编辑器中设置不同的敌人类型,敌人执行各自的生命周期,当你控制主角与接近敌人时,敌人开始追击你并且向你展开攻击。

 

Unity3D研究院之游戏开发中的人工智能AI(三十八) - 雨松MOMO程序研究院 - 2

 

         demo仅仅是一个示例,主要希望大家明白一个道理。在编写Unity游戏脚本时,一定要想想这条脚本和对象的生命周期,切记每一条脚本只管和自己有关的东西,和自己无关的东西一概不要管。不然你会发现你的脚本会越写越乱,下一篇文章我会写点我平时在Unity3D开发中时如何搭建架构的,希望大家多多讨论,互相学习。

下载地址:http://vdisk.weibo.com/s/hmJUs

雨松MOMO提醒您:亲,如果您觉得本文不错,快快将这篇文章分享出去吧 。另外请点击网站顶部彩色广告或者捐赠支持本站发展,谢谢!

--

最后编辑:
作者:雨松MOMO
专注移动互联网,Unity3D游戏开发
捐 赠如果您愿意花10块钱请我喝一杯咖啡的话,请用手机扫描二维码即可通过支付宝直接向我捐款哦。

Unity3D研究院之游戏开发中的人工智能AI(三十八)》有 46 条评论

  1. 林中龙 说:

    就喜欢你的文章!

  2. Jiekii 说:

    大神包里没有场景文件很难搞啊。。 Unity3D研究院之游戏开发中的人工智能AI(三十八) - 雨松MOMO程序研究院 - 1

  3. Jiekii 说:

    大神的思维就是AI Unity3D研究院之游戏开发中的人工智能AI(三十八) - 雨松MOMO程序研究院 - 1

  4. Unity38_人工智能.unitypackage怎么运行

  5. 767514280 说:

    momo,我下载了您的demo,很完美,我有一个小问题想咨询您一下,就是我设置了一个主角,也用player绑定了,敌人每次以为主角的坐标是中心点(0,0,0),跑到那里去攻击,事实上不是那个位置,是不是还要调用那个方法,还是设置参数?[呵呵]

  6. 谢谢老师,正需要这个呢

  7. WatchmanBingo 说:

    请问一下 有没有 AI汽车的案例?

  8. 状态模式阿~这么多人关注

  9. 大苞米 说:

    真的没有场景啊 MOMO大哥 可以重发一下吗 那几个模型动画不会用啊

  10. 超級efly 说:

    為什麼我拿Cube做敵人時無反應呢?

  11. 超級efly 说:

    新手請問如何選擇敵人?是改名字麼?004//这里是枚举选择敌人类型005public enum EnemyType006{007 Enemy0,008 Enemy1009}010 011public class AI : MonoBehaviour {012 013 //敌人类型枚举 有策划人员选择014 public EnemyType enemyType = EnemyType.Enemy0;

  12. 雨松MOMO博客网友 说:

    现在属于小白 没有点关于unity脚本编写基础点的??

  13. 匿名 说:

    现在属于小白 没有点关于unity脚本编写基础点的??

  14. 雨松MOMO博客网友 说:

    好东西啊 就是看不懂

  15. 匿名 说:

    好东西啊 就是看不懂

  16. 没有场景文件..是故意的么

  17. 欧宇龙 说:

    哈哈 我找到工作了。今天领导没来 盯着你的博客学习 嘿嘿

  18. 欧宇龙 说:

    Unity38.unitypackage 这个资源包里貌似没有Scene呢 这!!!!

  19. kuku小夭 说:

    FSM和寻路算法在手,这种平面打怪地图的AI就完成90%啦

  20. 索拉 说:

    海外不好下載微盤阿 … 有沒有百度的空間呀 ?當然繼續支持MOMO!

  21. 哇哈哈 说:

    菜鸟拜读 受益匪浅

  22. xiaofeihu 说:

    一直都在关注着,终于看到MOMO老师的新帖了,学习!

  23. 雨松MOMO 说:

    哥们儿,给力点行吗? 杀 ! 杀! 杀 !  杀!  谁能当我!

  24. 这货……..够猛!哈哈…..加油松松!!我的正在总结中…..吼吼…

  25. GgYyer 说:

    同时也很期待下一篇关于架构的教程~~~~~~

  26. GgYyer 说:

    学习了~~这个地方让我学到很多东西~~~感谢LZ分享~~致敬~~~

  27. lindly 说:

    给力啊

留下一个回复

你的email不会被公开。