当前位置:
首页 > 互联网+ > 人工智能 > Unity3D人工智能编程精粹pdf/doc/txt格式电子书下载

Unity3D人工智能编程精粹pdf/doc/txt格式电子书下载

本站仅展示书籍部分内容

如有任何咨询

请加微信10090337咨询

Unity3D人工智能编程精粹pdf/doc/txt格式电子书下载

书名:Unity3D人工智能编程精粹pdf/doc/txt格式电子书下载

推荐语:开发一款好的游戏,人工智能至关重要!本书将帮助你实现高智能的游戏角色!

作者:王洪源,陈慕羿,华宇宁,石征锦

出版社:清华大学出版社

出版时间:2014-11-01

书籍编号:30178249

ISBN:9787302379737

正文语种:中文

字数:520000

版次:1

所属分类:互联网+-人工智能

全书内容:

Unity3D人工智能编程精粹pdf/doc/txt格式电子书下载








内容简介


要想开发一款优秀的游戏,人工智能必不可少。本书精选了Unity3D游戏开发中最关键、最实用的几项人工智能关键技术,以实例的方式由浅入深地讲解了深奥而强大的人工智能技术、设计原则以及编程实现方法,并且对书中的每一个案例都进行了详细注释,所有实例均运行测试通过。掌握了书中的技术,可以使游戏角色具有良好的智能,大大增强游戏的可玩性!


本书共分7章:第1章中给出了游戏人工智能的运动层、决策层、战略层的架构模型,将游戏角色模拟人的感知、决策和移动等问题进行分层处理与实现;第2章讲解了多种操控角色自主移动的算法,让角色在游戏中的运动看起来更真实自然、运算速度更快;第3章采用图示的方式详细讲解了游戏寻路中最著名的A*寻路技术,并进一步介绍了复杂地形、以及存在敌方火力威胁下的战术寻路技术;第4章讲解了游戏角色感知游戏世界的实现方法。例如,发现敌人的位置、追寻爆炸声、让角色具有短期记忆,根据脚印进行追踪等;第5章~第6章讲解了最常用的决策技术——状态机与行为树技术,并对比分析了有限状态机与行为树技术在游戏人工智能中的适用范围。在处理大规模的游戏决策问题时,行为树克服了有限状态机的许多缺点,层次清晰、易于发现差错和调试,能大大减少编程者的负担;第7章综合运用了A*寻路、行为树等技术,给出了一个具有较高人工智能水平的第三人称射击游戏实例。


本书能够将具有初级Unity3D游戏开发水平的读者引领到奥妙的人工智能领域,帮助读者创造出惊险、刺激、趣味性强的优秀游戏!


本书适合作为高等院校计算机科学与技术、数字媒体技术、数字媒体艺术等专业本科教材、游戏学院Unity3D游戏开发的高阶教材。


对于从事战场模拟训练、视景仿真技术等领域的科研人员而言,本书也很有益处。

前言


写作目的


Unity3D是近几年非常流行的一个3D游戏开发引擎,已成为手机游戏开发的主要开发工具之一,也用于计算机虚拟现实领域的模拟飞行、模拟射击、模拟驾驶等技术的开发。手机(或其他平台)的游戏逐渐高档化、复杂化,游戏角色也需要具有更高的“智能”。


游戏中角色的AI(人工智能)水平直接决定着游戏的惊险性、刺激性、趣味性,优秀的游戏会使人玩不释手。在人机对战的TPS(第三人称视角射击游戏)游戏中,为了让游戏可以被玩家接受,使游戏变得更加有趣,很大程度上要依赖于AI。可以想象,如果敌人角色都只会呆滞地、向前径直冲进玩家的炮火中,玩家很快就会对此失去兴趣而弃之。游戏《半条命》因老练狡猾的敌人“海军陆战队”的AI系统而闻名;《星际争霸》游戏因广泛使用了寻路技术而使我们看到了战场上士兵的编队移动,现已成为RTS(即时战略游戏)游戏的潮流。


现在国内出版的Unity3D书籍多为入门级的初级水平读物,尚无Unity3D游戏人工智能的专门中文书籍,而其专题内容一般只在互联网“论坛”上出现,却又缺少系统化详解。


为此,本书精选了游戏AI中最必要、最实用的几项关键技术,用大量Unity3D示例代码、图片,以深入浅出的方式讲解游戏人工智能理论、设计原则和Unity3D编程实现方法。每个程序都有详细的注释并运行测试通过。程序对Unity3D的版本(3.X/4.X/5.X)依赖性不大。希望本书能给具备初步Unity3D游戏开发编程能力的读者在创作“更高智能”游戏角色时提供系统地、快捷地帮助。


主要内容


1. 第1章 Unity3D人工智能架构模型


对于游戏中的AI,应该关注的问题是如何让电脑能像人或动物那样“感知、决策、移动”,使游戏中的角色看上去像真实的人或动物。为了用Unity3D实现这一目标,使用AI的架构模型来分层次处理运动层、决策层、战略层的内容,并以此解析了FPS/TPS(第一、三人称射击游戏)中各层次的任务分解。


2. 第2章 实现AI角色的自主移动——操控行为


操控行为是指操作控制角色,让它们能以模拟现实的方式在游戏世界中移动。它的工作方式是通过产生一定大小和方向的操控力,使角色以某种方式运动。操控行为包括一组基本“行为”:使单独的AI角色靠近或离开目标、在角色接近目标时减速、使捕猎者追逐猎物、使猎物逃离捕猎者、使角色在游戏世界中随机徘徊、使角色沿着某条预定路径移动、使角色避开障碍物等行为。


操控组成小队或群体的多个AI角色(如模拟群鸟飞行)时,需要令其与其他邻居保持一定的距离、一致的朝向以及靠近其他邻居等行为。


操控行为优点是:使AI角色看上去很真实;非常易于计算,算法速度快。使用Unity3D提供的开源库UnitySteer可以快捷实现操控行为。


3. 第3章 找最短路径并避开障碍物——A*寻路


著名的A*寻路算法在游戏中有着十分广泛的应用,它可以保证在起点和终点之间找到最佳路径,在同类算法中效率很高,对于多数路径寻找问题它是最佳选择。本章给出了利用操控行为和A*寻路实现RTS中的小队寻路示例。


然而在实际游戏中,很多时候最短路径并不是最好的选择。在人类或坦克等在面对山地、森林等不同通过难度的地形时,在射击类游戏需要选择不易受敌人攻击的路线时,就需要采用战术寻路。本章给出了利用A* Pathfinding Project插件进行战术寻路的示例。


4. 第4章 AI角色对游戏世界的感知


当控制游戏角色的移动时,角色需要感知周围游戏世界的内部信息和外部信息。内部信息包括AI角色自身的生命值、武器、目标和运动状态等,外部信息包括敌人的位置、救生包位置、战友的位置及生命值、爆炸声的来源等。


可以采用轮询和事件驱动的方式对这些环境信息进行感知,引起相应的触发器动作,使AI角色做出相应的反应或行动。本章给出AI士兵的综合感知系统示例。


5. 第5~6章 角色自主决策——有限状态机及行为树


决策系统会对从游戏世界中收集到的各种信息进行处理(包括内部信息,外部信息),从而确定AI角色下一步将要执行的行为。


(1)如果游戏的决策系统不是很复杂,只要利用FSM(有限状态机)就可以实现。第5章分别给出了用Switch语句实现的FSM和用FSM框架实现的通用的FSM示例。


(2)在处理较大规模的问题时,FSM很难复用、维护和调试。为了让AI角色的行为能够满足游戏的要求,就需要增加很多状态,并手工转换大量的编码,非常容易出现错误。行为树(Behavior Tree)层次清晰,易于模块化,并且可以利用通用的编辑器简化编程,简洁高效。它为我们提供了丰富的流程控制方法,只要定义好一些条件和动作,策划人员就可以通过简单地拖曳和设置,来实现复杂的游戏AI。


作者在总结教学经验中体会到,初学者对行为树的设计思路理解较为困难,甚至互联网论坛上也常常看到因为对行为控制流程理解错误,导致很大程度上影响了对于行为树的正确应用。本章用较大篇幅详解了一个行为树的示例,一步步详细分析了它的执行流程,以期使读者能够准确掌握行为树并设计出具有更高“智能”的AI角色。


6. 第7章 AI综合案例——第三人称射击游戏


在本章中给出一个具有较高AI水平的第三人称射击游戏示例。其中主要用到了第3章的A*寻路、第6章的行为树等技术,使“敌人士兵”具有了较高的智能水平,它们可以自主寻找并移动到隐蔽点、躲藏在工事后面、下蹲以减少被玩家击中的概率、举枪瞄准玩家、对玩家射击……这些战术动作大大增加了游戏的惊险性、趣味性和挑战性!


适用读者


(1)对于具有初级开发水平的Unity3D游戏开发爱好者来说,这是一本非常好的AI入门读物。本书精选了游戏AI中最重要、最实用的几项关键技术,始终围绕着AI的技术精髓展开,同时用简单清晰的方式去实现它,读者可以在自己的计算机上运行示例代码,模仿书中提供的代码去快速实现一个“更高智能”的“敌人士兵”或其他AI角色。


(2)对于游戏开发培训学校的师生来说,本书可作为Unity3D游戏开发的高阶教材。本书深入浅出,用实例讲解理论性较强的人工智能理论、设计原则以及实现方法。书中配有大量的插图,重视AI技术论述的条理性,便于组织教学。


(3)本书可作为数字媒体技术、数字媒体艺术等专业的《游戏人工智能》课程教材,计算机科学与技术、自动化专业本科生、研究生的《人工智能》课程教材与实验参考书。由于一般院校都把《人工智能》作为专业选修课程,而且所使用的教材大多理论推导多、教材内容枯燥,如果以本书组织教学,将会大大提高学生的学习兴趣,同时会提高学生的实际编程水平。


(4)对于计算机、虚拟现实技术等相关学科的科研人员而言,本书也很有益处。


游戏人工智能程序必须在有限的计算机硬件资源(CPU速度、内存大小、显卡性能)下工作,本书的“操控行为”、“A*寻路”、“有限状态机”、“行为树”等算法的实时性、高效性有待于更深一步地研究提高。


本书由沈阳理工大学信息科学与工程学院王洪源、陈慕羿、华宇宁、石征锦老师共同著作完成,另外,参与本书编写工作的还有张骥超、王清鹏、李鑫洋、杨竹、陈鹏艳等硕士研究生。在本书写作过程中得到了清华大学出版社计算机与信息分社杨如林编辑的大力帮助,在此表示感谢。


作者

第1章
Unity3D人工智能架构模型


Unity3D是近几年非常流行的一个3D游戏开发引擎,已经成为手机游戏主要的开发工具之一。该引擎也可以用于计算机虚拟现实领域的开发工作,比如模拟飞行、模拟射击、模拟驾驶等。手机(或其他平台)中的游戏逐渐高档化、复杂化,游戏角色需要具有更高的“智能”,特别是在大型三维网络游戏中,AI(人工智能)的开发占有重要的比例。游戏中角色的AI水平直接决定着游戏的惊险性、刺激性、趣味性,优秀的游戏会使人玩不释手。


本书的核心是采用Unity3D游戏引擎,使用C#脚本编程来实现这类智能任务。


人工智能(Artificial Intelligence,简称AI),是指由人工制造出来的系统所表现出来的模拟人类的智能活动,通常也指通过计算机实现的这类智能。在游戏中,对于AI,应该关注的问题是如何让游戏角色能像人或动物那样“感知”、“思考”和”行动”,让游戏中的角色看上去像具有真实的人或动物的反应。


本书用“AI角色”来表示游戏中由计算机控制,具有一定智能的非玩家角色。


事实上,对于游戏中的AI角色,可以认为它们一直处于感知(Sense)→思考(Think)→行动(Act)的循环中。



  • 感知:是AI角色与游戏世界的接口,负责在游戏运行过程中不断感知周围环境,读取游戏状态和数据,为思考和决策收集信息。例如,是否有敌人接近等。
  • 思考:利用感知的结果选择行为,在多种可能性之间切换。例如,战斗还是逃跑?躲到哪里?一般说来,这是决策系统的任务,有时也可能简单地与感知合二为一。
  • 行动:发出命令、更新状态、寻路、播放声音动画,也包括生命值减少等。这是运动系统、动画系统和物理系统的任务,而动画和物理系统由游戏引擎提供支持。

多年以来,从街机游戏《PaC Man(吃豆人)》中的小魔鬼到《使命召唤:现代战争3》、《光晕》等,AI给无数的游戏角色赋予了鲜活的生命力。


1. 决策系统中的“有限状态机”技术


《PaC Man》(见图1.1)游戏中的AI或许是很多玩家曾经见过的最早的AI角色,该游戏中的敌人角色能和玩家作对,在关卡中像玩家一样移动,给玩家留下了深刻的印象。

014

图1.1 《PaC Man》游戏截图

《PaC Man》采用了非常简单的“有限状态机”技术。在游戏中,每个小魔鬼都处于追逐PaC Man或当PaC Man长大后被小魔鬼追逐而逃跑的状态中。对于每个状态,小魔鬼在交叉点处都会采用半随机的方式选择移动路线。在追逐模式下,每个小魔鬼都有不同的概率追逐PaC Man;在逃跑模式下,它们或者选择以最快速度跑开,或者选择一个随机的方向移动。


《PaC Man》之后很久一段时间,AI游戏的开发几乎是在原地踏步,直到1990年代中期,AI又开始成为游戏的热点,一些游戏的宣传中甚至特别提到了AI来做为卖点。


有限状态机技术是最早产生的AI技术,时至今日依然有着强大的生命力,是AI中应用最为广泛的技术之一。同时,行为树技术也

....

本站仅展示书籍部分内容

如有任何咨询

请加微信10090337咨询

本站仅展示书籍部分内容
如有任何咨询

请加微信10090337咨询

再显示