要想开发一款优秀的游戏,人工智能必不可少。本书精选了Unity3D游戏开发中最关键、最实用的几项人工智能关键技术,以实例的方式由浅入深地讲解了深奥而强大的人工智能技术、设计原则以及编程实现方法,并且对书中的每一个案例都进行了详细注释,所有实例均运行测试通过。掌握了书中的技术,可以使游戏角色具有良好的智能,大大增强游戏的可玩性!
本书共分7章;第1章中给出了游戏人工智能的运动层、决策层、战略层的架构模型,将游戏角色模拟人的感知、决策和移等向测讲行分层处理与空现; 第2意讲解了多种操控角色白主移动的算法,让角鱼在戏中r的运动看起来直学自然、i运算速度审快,第3章呆用图示的方式i细l讲解了游戏寻路中著名的A*路技术。并进一步介绍了复杂地形、以及存在敌方火力威胁下的战术寻路技术; 第4章讲解了游戏角色感知游戏世界的实现方法。例如,发现敌人的位置、追寻爆炸声、让角鱼,其有短期记忆,根据脚印进行追踪等;第5章~第6章讲解了最常用的决策技术———状态机与行为树技术,并对t比分析了有限状态机与行为树技术在游戏人工智能中的适用范围。在处理大规模的游戏决策问题时,行为树克服了有限状态机的许多缺点,层次清晰、易于发现差错和调试,能大大减少编程者的负担;第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人工智能架构模型
对于游戏中的Al,应该关注的问题是如何让电脑能像人或动物那样"感知、决策、移动" ,使游戏中的角色看上去像真实的人或动物。为了用Unitv3D实现这一目标,使用AI的架构模型来分层次处理运动层、决策层、战略层的内容,并以此解析了FPS/TPS(第一、三人称射击游戏)中各层次的任务分解。
2. 第2章 实现Al角色的自主移动——操控行为
操控行为是指操作控制角色,让它们能以模拟现实的方式在游戏世界中移动。它的工作方式是通过产生一定大小和方向的操控力,使角色以某种方式运动。操控行为包括一组基本"行为" .使单独的AI角色靠近或离开目标、在角色接近目标时减速、使捕猎者追逐猎物、使猎物逃离捕猎者、使角色在游戏世界中随机徘徊、使角色沿着某条预定路径移动、使角色避开障碍物等行为。
操控组成小队或群体的多个AI角色(如模拟群鸟飞行)时,需要令其与其他邻居保持一定的距离、一致的朝向以及靠近其他邻居等行为。
操控行为优点是∶ 使AI角色看上去很真实;非常易于计算,算法速度快。使用Unity3D提供的开源库UnitySteer可以快捷实现操控行为。
3. 第3章 找最短路径并避开障碍物——A*寻路
著名的A*寻路算法在游戏中有着十分广泛的应用,它可以保证在起点和终点之间找到最佳路径,在同类算法中效率很高,对于多数路径寻找问题它是最佳选择。本章给出了利用操控行为和A*寻路实现RTS中的小队寻路示例。
然而在实际游戏中,很多时候最短路径并不是最好的选择。在人类或坦克等在面对山地、森林等不同通过难度的地形时,在射击类游戏需要选择不易受敌人攻击的路线时,就需要采用战术寻路。本章给出了利用A* Pathfinding Project插件进行战术寻路的示例。
4. 第4章 Al角色对游戏世界的感知
当控制游戏角色的移动时,角色需要感知周围游戏世界的内部信息和外部信息。内部信息包括Al角色自身的生命值、武器、目标和运动状态等,外部信息包括敌人的位置、救生包位置、战友的位置及生命值、爆炸声的来源等。
可以采用轮询和事件驱动的方式对这些环境信息进行感知,引起相应的触发器动作,使 AI角色做出相应的反应或行动。本章给出Al士兵的综合感知系统示例。
5. 第5~ 6章 角色自主决策———有限状态机及行为树
决策系统会对从游戏世界中收集到的各种信息进行处理(包括内部信息,外部信息),从而确定AI角色下一步将要执行的行为。
(1)如果游戏的决策系统不是很复杂,只要利用FSM(有限状态机)就可以实现。第5章分别给出了用Switch语句实现的FSM和用FSM框架实现的通用的FSM示例。
(2)在处理较大规模的问题时,FSM很难复用、维护和调试。为了让Al角色的行为能够满足游戏的要求,就需要增加很多状态,并手工转换大量的编码,非常容易出现错误。行为树(Behavior Tree)层次清晰,易于模块化,并且可以利用通用的编辑器简化编程,简洁高效。它为我们提供了丰富的流程控制方法,只要定义好一些条件和动作,策划人员就可以通过简单地拖曳和设置,来实现复杂的游戏AI。
作者在总结教学经验中体会到,初学者对行为树的设计思路理解较为困难,甚至互联网论坛上也常常看到因为对行为控制流程理解错误,导致很大程度上影响了对于行为树的正确应用。本章用较大篇幅详解了一个行为树的示例,一步步详细分析了它的执行流程,以期使读者能够准确掌握行为树并设计出具有更高"智能"的Al角色。
6. 第7章 Al综合案例——第三人称射击游戏
在本章中给出一个具有较高AI水平的第三人称射击游戏示例。其中主要用到了第3章的A*寻路、第6章的行为树等技术,使"敌人土兵"具有了较高的智能水平,它们可以自主寻找并移动到隐蔽点、躲藏在工事后面、下蹲以减少被玩家击中的概率、举枪瞄准玩家、对玩家射击…·这些战术动作大大增加了游戏的惊险性、趣味性和挑战性!
适用读者
(1)对于具有初级开发水平的Unity3D游戏开发爱好者来说,这是一本非常好的AI入门读物。本书精选了游戏AI中最重要、最实用的几项关键技术,始终围绕着Al的技术精髓展开,同时用简单清晰的方式去实现它,读者可以在自己的计算机上运行示例代码,模仿书中提供的代码去快速实现一个"更高智能"的"敌人士兵"或其他AI角色。
(2)对于游戏开发培训学校的师生来说,本书可作为Unity3D游戏开发的高阶教材。本书深入浅出,用实例讲解理论性较强的人工智能理论、设计原则以及实现方法。书中配有大量的插图,重视AI技术论述的条理性,便于组织教学。
(3)本书可作为数字媒体技术、数字媒体艺术等专业的《游戏人工智能》课程教材,计算机科学与技术、自动化专业本科生、研究生的《人工智能》课程教材与实验参考书。由于一般院校都把《人工智能》作为专业选修课程,而且所使用的教材大多理论推导多、教材内容枯燥,如果以本书组织教学,将会大大提高学生的学习兴趣,同时会提高学生的实际编程水平。
(4)对于计算机、虚拟现实技术等相关学科的科研人员而言,本书也很有益处。
游戏人工智能程序必须在有限的计算机硬件资源(CPU速度、内存大小、显卡性能)下工作,本书的"操控行为"、"A*寻路"、"有限状态机"、"行为树"等算法的实时性、高效性有待于更深一步地研究提高。
第1章 Unity3D人工智能架构模型
Unity3D是近几年非常流行的一个3D游戏开发引擎,已经成为手机游戏主要的开发工具之一。该引擎也可以用于计算机虚拟现实领域的开发工作,比如模拟飞行、模拟射击、模拟驾驶等。手机(或其他平台)中的游戏逐渐高档化、复杂化,游戏角色需要具有更高的"智能",特别是在大型三维网络游戏中,AI(人工智能)的开发占有重要的比例。游戏中角色的Al水平直接决定着游戏的惊险性、刺激性、趣味性,优秀的游戏会使人玩不释手。
本书的核心是采用Unity3D游戏引擎,使用C#脚本编程来实现这类智能任务。
人工智能(Artificial Intelligence,简称AI),是指由人工制造出来的系统所表现出来的模拟人类的智能活动,通常也指通过计算机实现的这类智能。在游戏中,对于Al,应该关注的问题是如何让游戏角色能像人或动物那样"感知"、"思考"和"行动",让游戏中的角色看上去像具有真实的人或动物的反应。
本书用"AI角色"来表示游戏中由计算机控制,具有一定智能的非玩家角色。
事实上,对于游戏中的AI角色,可以认为它们一直处于感知(Sense)→思考(Think)→行动(Act)的循环中。
● 感知∶是AI角色与游戏世界的接口,负责在游戏运行过程中不断感知周围环境,读取游戏状态和数据,为思考和决策收集信息。例如,是否有敌人接近等。
● 思考∶利用感知的结果选择行为,在多种可能性之间切换。例如,战斗还是逃跑?躲到哪里?一般说来,这是决策系统的任务,有时也可能简单地与感知合二为一。
● 行动;发出命令、更新状态、寻路、播放声音动画,也包括生命值减少等。这是运动系统、动画系统和物理系统的任务,而动画和物理系统由游戏引擎提供支持。
多年以来,从街机游戏《PaC Man(吃豆人)》中的小魔鬼到《使命召唤;现代战争 3》、《光晕》等,AI给无数的游戏角色赋予了鲜活的生命力。
1. 决策系统中的""有限状态机"技术
《PaC Man》(见图1.1)游戏中的AI或许是很多玩家曾经见过的最早的Al角色,该游戏中的敌人角色能和玩家作对,在关卡中像玩家一样移动,给玩家留下了深刻的印象。
《PaC Man》采用了非常简单的"有限状态机"技术。在游戏中,每个小魔鬼都处于追逐PaC Man或当PaC Man长大后被小魔鬼追逐而逃跑的状态中。对于每个状态,小魔鬼在交叉点处都会采用半随机的方式选择移动路线。在追逐模式下,每个小魔鬼都有不同的概率追逐PaC Man;在逃跑模式下,它们或者选择以最快速度跑开,或者选择一个随机的反向移动。
《PaC Man》之后很久一段时间,AlI游戏的开发几乎是在原地踏步,直到1990年代中期, AI又开始成为游戏的热点,一些游戏的宣传中甚至特别提到了AI来做为卖点。
有限状态机技术是最早产生的AI技术,时至今日依然有着强大的生命力,是AI中应用最为广泛的技术之一。同时,行为树技术也得到了越来越广泛的应用。
【下载地址】
链接:https://pan.baidu.com/s/1iwQh-9vtheM1D5y26QYtbQ
提取码:05pk
相关文章
本书精选了Unity3D游戏开发中最关键、最实用的几项人工智能关键技术,以实例的方式由浅入深地讲解了深奥而强大的人工智能技术、设计原则以及编
FlashFXP绿色版网盘下载,附激活教程 1840
FlashFxp百度网盘下载链接:https://pan.baidu.com/s/1MBQ5gkZY1TCFY8A7fnZCfQ。FlashFxp是功能强大的FTP工具
Adobe Fireworks CS6 Ansifa绿色精简版网盘下载 1608
firework可以制作精美或是可以闪瞎眼的gif,这在广告领域是需要常用的,还有firework制作下logo,一些原创的图片还是很便捷的,而且fireworks用法简单,配合dw在做网站这一块往往会发挥出很强大的效果。百度网盘下载链接:https://pan.baidu.com/s/1fzIZszfy8VX6VzQBM_bdZQ
navicat for mysql中文绿色版网盘下载 1653
Navicat for Mysql是用于Mysql数据库管理的一款图形化管理软件,非常的便捷和好用,可以方便的增删改查数据库、数据表、字段、支持mysql命令,视图等等。百度网盘下载链接:https://pan.baidu.com/s/1T_tlgxzdQLtDr9TzptoWQw 提取码:y2yq
火车头采集器(旗舰版)绿色版网盘下载 1739
火车头采集器是站长常用的工具,相比于八爪鱼,简洁好用,易于配置。火车头能够轻松的抓取网页内容,并通过自带的工具对内容进行处理。站长圈想要做网站,火车头采集器是必不可少的。百度网盘链接:https://pan.baidu.com/s/1u8wUqS901HgOmucMBBOvEA
Photoshop(CS-2015-2023)绿色中文版软件下载 1859
安装文件清单(共46G)包含Window和Mac OS各个版本的安装包,从cs到cc,从绿色版到破解版,从安装文件激活工具,应有尽有,一次性打包。 Photoshop CC绿色精简版 Photoshop CS6 Mac版 Photoshop CC 2015 32位 Photoshop CC 2015 64位 Photoshop CC 2015 MAC版 Photoshop CC 2017 64位 Adobe Photoshop CC 2018 Adobe_Photoshop_CC_2018 Photoshop CC 2018 Win32 Photoshop CC 2018 Win64