首页 > 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
专注移动互联网,Unity3D游戏开发
捐 赠写博客不易,如果您想请我喝一杯星巴克的话?就进来看吧!

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

  1. 徐缺 说:

    momo大哥 你说下一篇文章会写你平时在Unity开发中如何搭建架构,这篇文章我没找见呐

  2. 林中龙 说:

    就喜欢你的文章!

  3. Jiekii 说:

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

  4. Jiekii 说:

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

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

  6. 767514280 说:

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

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

  8. WatchmanBingo 说:

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

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

  10. 大苞米 说:

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

留下一个回复

你的email不会被公开。