(计算机应用技术专业论文)基于agent的自主游戏角色.pdf_第1页
(计算机应用技术专业论文)基于agent的自主游戏角色.pdf_第2页
(计算机应用技术专业论文)基于agent的自主游戏角色.pdf_第3页
(计算机应用技术专业论文)基于agent的自主游戏角色.pdf_第4页
(计算机应用技术专业论文)基于agent的自主游戏角色.pdf_第5页
已阅读5页,还剩49页未读 继续免费阅读

(计算机应用技术专业论文)基于agent的自主游戏角色.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要 近几年,计算机软件和硬件的发展,市场环境的成熟,给游戏产业带来了空 前的盛况。虽然游戏智能也随之有较大幅度的提高,但与图形画面和物理效果比 相对滞后。本文通过对游戏角色的深入研究,依据游戏角色的自主性、反应性和 主动性等特征,提出了一种称为“自主角色”的游戏智能角色开发框架。主要工 作如下: 设计了自主角色框架。针对智能角色的设计缺乏统一的框架、各功能模 块耦合度高、实现难度大等问题,设计了一个基于a g e n t 的分层智能角 色框架“自主角色 框架。此框架将智能角色分成几何模型、运动 模型、行为模型、意图模型以及感知系统。 引入了多种模拟动物运动的算法,以实现自主角色的运动模型。实现了 基于c o m p o s i t e 模式的行为模型,使原子行为和复合行为具有统一的接 口,并且通过一种类似栈的结构,使自主角色有了一定的记忆能力。 给出了一个模糊逻辑系统,并定义了一组模糊规则,进而通过模糊推理 实现了自主角色的意图决策。分析了点测法和空间分隔法各自的适用情 况,并最终使用点测法为足球模拟游戏中的角色建立视觉感知。 总之,自主角色框架的提出,使得游戏开发者可以快速有效的开发出能够自 主决定做什么以及怎么做的智能角色。并且基于此框架的开发的足球模拟游戏, 也成功验证了它的有效性。 关键词:游戏a g e n t 自主角色模糊逻辑 a bs t r a c t w i t ht h ed e v e l o p m e n to fc o m p u t e rs o f t w a r ea n dh a r d w a r et e c h n o l o g i e s ,t h e i n d u s t r yo fd i g i t a lg a m e sh a sb e c o m em o r ea n dm o r ep r o s p e r c o m p a r e dw i t ht h e g r a p h i ci m a g e sa n dp h y s i c a le f f e c t , t h o u g ht h eg a m ea ii sb e t t e rt h a nb e f o r e ,i ti s a l i t t l eb a c k w a r da n ds t i l lh a sm o r es p a c et od e v e l o p s o ,a f t e rt h es t u d yo fg a m e c h a r a c t e r , w ed e s i g n e dag a m ec h a r a c t e ra r c h i t e c t u r e ,w h i c hi sc a l l e d “a u t o n o m o u s c h a r a c t e ra r c h i t e c t u r e ”t h em a i nw o r ki sa sf o l l o w : d e s i g n e da u t o n o m o u sc h a r a c t e ra r c h i t e c t u r e f o c u s i n go nt h ep r o b l e m so fn o u n i f i e da r c h i t e c t u r e ,h i g hc o u p l i n gd e g r e ea n dd i f f i c u l tt oi m p l e m e n tw h e n d e s i g n i n g t h e i n t e l l i g e n tg a m ec h a r a c t e r , w ed e s i g n e d ah i e r a r c h i c a l a r c h i t e c t u r eb a s e do na g e n tt e c h n o l o g i e s ,w h i c hi sc a l l e da u t o n o m o u s 。c h a r a c t e ra r c h i t e c t u r e t h i sa r c h i t e c t u r ed i v i d e st h eg a m ec h a r a c t e ri n t o g e o m e t r i cm o d e l ,m o t o rm o d e l ,b e h a v i o r a lm o d e l ,i n t e n t i o nm o d e l ,a n d p e r c e p t i o ns y s t e m i m p l e m e n t e dt h em o t o rm o d e lb ys o m ea l g o r i t h m s ,w h i c h a r eu s e dt o s i m u l a t et h ea n i m a l s b e h a v i o r s i m p l e m e n t e dt h eb e h a v i o rm o d e lb a s e do n t h ec o m p o s i t ep a t t e r n ,w h i t c hm a k e st h ea t o m i cb e h a v i o ra n dc o m p o s i t e b e h a v i o rh a v ei d e n t i c a li n t e r f a c e s ,a n de n d o w st h ea u t o n o m o u sc h a r a c t e r w i t ha m e m o r y i m p l e m e n t e daf u z z yl o g i cs y s t e ma n dt h e nu s e di tt od e c i d et h ea u t o n o m o u s c h a r a c t e r si n t e n t i o nb a s e do np r e d e f i n e dl o g i cr u l e s c o m p a r e dt h e d i f f e r e n c e s b e t w e e n p o i n t - d e t e c t e d a n d “s p a c e s e p a r a t e d p e r c e p t i o n a l g o r i t h ma n du s e dt h e p o i n t - d e t e c t e d ”a l g o r i t h mt oi m p l e m e n tt h ev i s u a l p e r c e p t i o no f s o c c e rg a m ec h a r a c t e r s i n s h o r t ,t h er e s e a r c ho fa u t o n o m o u sc h a r a c t e ra r c h i t e c t u r ep r o v i d e sg a m e d e v e l o p e r sag o o dm e t h o dt op r o g r a mt h ei n t e l l i g e n tc h a r a c t e rw h i c hc o u l dt e l l i t s e l f w h a tt od oa n dh o wt od o a n d ,as o c c e rg a m eb a s e do nt h i saa r c h i t e c t u r eh a sp r o v e n i t se 舵c t i v e n e s s k e yw o r d s - d i g i t a lg a m e s ,a g e n t ,a u t o n o m o u sc h a r a c t e r , f u z z yl o g i c 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作和取得的 研究成果,除了文中特别加以标注和致谢之处外,论文中不包含其他人已经发表 或撰写过的研究成果,也不包含为获得墨窒盘堂或其他教育机构的学位或证 书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均己在论文中 作了明确的说明并表示了谢意。 学位论文作者签名:j 二匕 签字日期: 2 嘲年2 月f 日 学位论文版权使用授权书 本学位论文作者完全了解墨注盘堂 有关保留、使用学位论文的规定。 特授权苤奎盘茔可以将学位论文的全部或部分内容编入有关数据库进行检 索,# 采用影印、缩印或扫描等复制手段保存、汇编以供查阅和借阅。同意学校 向国家有关部门或机构送交论文的复印件和磁盘。 f 保密的学位论文在解密后适用本授权说明) 学位论文作者签名:小 导师签名: 签手巨鹈:z 以刁年月1 日 签字日期:o 年二月j 日 第一章绪论 1 1 课题背景和意义 第一章绪论 在早期的游戏中,例如上个世纪7 0 年代以前的游戏,由于计算机软硬件水 平的限制,游戏的画面表现力有限,游戏中的角色往往以一些符号、色斑来表示。 游戏中的物体通常没有任何的过程性控制,而是根据特定的简单规则运动d 1 , 例如1 9 7 2 年a t a r i 公司开发的一个类似乒乓球的游戏p o n g ,游戏中的乒乓球只 是在到达屏幕边缘时按照镜面反射被反弹回来。 上个世纪8 0 年代以后,一些较复杂的业务型控制台( a r c a d e c o n s o l e ) 和家用 控制台( f a m i l yc o n s o l e ) 游戏机出现,游戏软件的表现力得到了显著提升。例如在 1 9 8 8 年n i n t c n d o 公司开发的s u p e r m a r i ob r o s ,游戏中包含了以二维画面表示的 各种各样的角色,已经表现出了一定的智能行为。在这些游戏的开发过程中,设 计人员发明了一些被特定类型的游戏使用的简单但非常高效、巧妙的算法,这些 算法在业界内广为流传,例如序列化的动作脚本,目标追踪与躲避,角色沿着特 定的路线巡逻等等,一些方法甚至在今天的游戏软件开发中仍在使用。这个阶段, 角色的运动往往是确定的,在多次玩一个游戏之后,玩家( p l a y e r ,在本文中称计 算机游戏软件的用户为玩家) 很容易总结出游戏中角色的行动规律。然而,由于 相应的画面和音效的也比较简单,这种总结规律的过程也是当时游戏的乐趣所 在,这样,游戏开发厂商和玩家都没有提升游戏软件中a j 水平的内在要求。 9 0 年代后期,由于计算机软硬件的发展,计算机游戏的画面表现力达到了 与电影相媲美的高度,随之带来了对游戏软件的可玩性相应提高的要求。由于 3 d 图形技术、虚拟现实技术及相关软件和硬件的发展,使得计算机游戏开发者 们能够创造更加吸引玩家,更有视觉投入感的虚拟环境。游戏软件的下一个进步 应该是提供更加真实可信的人工智能。硬件的图形和声音处理系统的发展,解放 了更多的系统资源,这使得在游戏中实现更加精细的人工智能成为可能和必然的 方向。因此,越来越多的游戏编程人员致力于将人工智能用到游戏中,比如路径 规划算法已经在游戏中普及,不确定推理、遗传算法、人工神经网络等技术也已 经被用于一些对智能要求较高的游戏。然而游戏软件中的人工智能是一个新生的 领域,还没形成相应的致的理论,开发人员也是按照自己的经验来实现游戏中 的人工智能,没有一定理论模型作为基础,来支持游戏中人工智能的开发。相对 于逼真的音像及物理效果,游戏中的人工智能相对滞后。 第一章绪论 游戏中的人工智能,很大程度上是指游戏角色的人工智能,目的是为了让游 戏角色能够通过感知游戏虚拟环境中的一些信息,对虚拟环境中发生的事情做出 响应,能够根据自身和当前虚拟环境的状态设定自己的目标,并能够自主决定如 何去实现该目标。所有这些智能游戏角色所需具备的特性,都让我们联想到得到 广泛研究的a g e n t 系统,它是处在某个环境中的计算机系统,该系统有能力在这 个环境中自主行动以实现其设计目标。典型的a g e n t 一般具有自主性、社会性、 反应性和主动性等特征。这样,就可以按照a g e n t 的设计思想,把游戏中的每个 角色构造为单个的a g e n t 。 另一方面,与游戏同属数字娱乐产业的动画领域,近些年取得了卓越的成绩。 人工鱼的作者提出了一种利用人工生命方法构建能在虚拟环境中自主活动的动 画角色的模型,接着认知建模方法的提出者又使这些动画角色在能对虚拟环境做 出反应的基础上,具备了推理、规划、学习的能力。不同于传统的计算机动画创 作所采用的“关键帧”技术,计算机动画的人工生命方法,是一种基于自然生命 模型的动画自动生成方法,它不仅可以显著增加计算机动画的逼真度和生动性, 提高了动画的临场感,而且可以有效地提高动画的创作效率,显著地减少了动画 创作者对计算机动画生成过程的介入和干预,降低了动画师的劳动强度。然而随 着动画创作研究日益着重于动画角色的智能性及其动作的细腻性,动画角色模型 制作技术日趋复杂,动画系统各模型之间耦合度也越来越高,致使动画创作难度 日益加大。例如动画角色的躯体与动作已由关键帧技术深入发展到完全由生物力 学模型来生成与驱动,但构建一个动画角色的生物力学模型不仅理论难度大,而 且在运行时计算机运算量很大。当动画角色数目增多时,其计算量将呈非线性快 速增加,极大地影响了动画创作的实时性,没有在简单性和高效性方面有较好的 均衡。这导致使用这种技术的软件只能应用在高端的图形工作站上运行的,并不 适用于对实时性、交互性要求较高的游戏开发。 所以本文通过借鉴其中的角色分层模型和控制角色运动的各种算法,再结合 智能a g e n t 的设计思想,提出了一种适用于游戏的智能角色开发框架,并且称这 种智能角色为“自主角色 ,特指能够自己决定做什么以及如何行动的游戏角色。 1 2 课题内容 本课题旨在提出一种能够帮助游戏开发人员编写游戏中智能角色的框架, “自主角色框架”。为此,首先要考虑将一个自主角色划分为哪些模型,哪些系 统,然后要考虑用什么技术实现每一种模型或系统。这里通过对游戏角色的深入 研究,依据游戏角色的自主性、反应性和主动性等特征,决定以a g e n t 的设计思 第一章绪论 想为基础,将自主角色框架划分为四个子模型和一个子系统,它们分别是几何模 型、运动模型、行为模型、意图模型和感知系统。其中几何模型负责自主角色的 外观表现;运动模型相当于自主角色的肌肉系统,赋予自主角色动的能力:行为 模型定义了一组能达到自主角色某种目的的行为程序,比如捕食、猎杀等;意图 模型用以在各种行为间进行选择,以决定在当前的环境和自身状态下,应该采取 什么行动;感知系统给了角色视觉和听觉,用来从虚拟环境获取信息。对于每种 模型或系统使用的技术、算法,会在后面的章节中详细叙述。 1 3 论文结构 本文大体上是按照自主角色框架的各个模块来划分章节,在每章中详述该模 块的设计和实现。具体结构如下: 第一章绪论。介绍了课题的背景、意义和主要内容。 第二章自主角色框架技术概述。综述了a g e n t 、物理建模、感知建模和行为 建模等与自主角色相关的技术,并简单介绍了自主角色框架的整体 框架。 第三章自主角色运动模型。详细介绍了自主游戏角色运动模型中包含的各 种运动方式的算法及运动模型的整体结构。 第四章自主角色行为模型。本章主要讲解了如何为自主角色编写行为程序, 并介绍了行为模型的整体结构。 第五章自主游戏角色意图模型。意图模型负责从角色的意图集中选择一个 意图作为当前意图,是一切行动出发点。本章首先讲解了一些有关 模糊逻辑的知识以及如何实现一个模糊逻辑系统,然后举例说明了 如何将模糊逻辑应用于意图的决策。 第六章自主角色感知系统。感知系统是自主角色与虚拟环境沟通的桥梁, 本章讲解了如何给自主角色赋予视觉和听觉的能力。 第七章结论与展望。对目前所做的工作进行了总结并且提出了今后的工作 方向。 第二章自主角色框架技术概述 2 1a g e n t 简介 第二章自主角色框架技术概述 a g e n t 是于1 9 8 6 年,由m i t 的著名计算机学家及人工智能学科创始人之一 m m i n s k y 在心智的社会这本书中提出来的一个概念。虽然该词己被广泛使 用,但至今仍没有一个公认的定义。有的文献将a g e n t 定义为一种“基于某种场 景,并具有灵活、自主的行为能力【l 】,以满足设计目标的计算机系统”。还有的 文献将a g e n t 的定义分为强弱两种【2 】,a g e n t 被弱定义为满足如下特性的基于硬 件或( 更经常是) 软件的计算机系统: 自主性( a u t o n o m y ) a g e n t 的运行无需人类或其它a g e n t 的直接干预,并能对其自身行为及内部 状态进行某种控制。 社会性( s o e m la b i l i t y ) 能通过某种a g e n t 通信语言与其它a g e n t ( 也可能是人类) 进行交互。交互主 要有三种类型:协作( c o o p e r a t i o n ) 、协调( c o o r d i n a t i o n ) 和协商( n e g o t i a t i o n ) 。 反应性( r e a c t i v i t y ) 能感知它们的环境( 可以是物理世界、一个经图形用户接口连接的用户、一 系列其它a g e n t ,i n t e r n e t 或所有这些的组合) ,并能对环境的变化及时做出反应。 主动性( p r o a c t i v e n e s s ) a g e n t 不但能对环境做出反应,而且它们能够积极主动地做出使其目标得以 实现的行为。 a g e n t 被强定义为:除满足弱定义中所有特性外,还具有通常应用于人类的 精神化( m e n t a l i s t i c ) 概念,如知识( k n o w l e d g e ) 、信念( b e l i e f ) 、意图( i n t e n t i o n ) 和义 务( o b l i g a t i o n ) ,甚至具有情感( e m o t i o n a l ) 因素的计算机系统。 此外,许多学者还提出了a g e n t 具有的一些其它特性,如: 基于场景性( s i t u a t e d n e s s ) a g e n t 能从场景中接收传感器输入,并完成以某种方式改变场景的行为。 灵活性( f l e x i b i l i t y ) 包含了反应性、主动性和社会性。 移动性( m o b i l i t y ) a g e n t 能在电子网络上移动的能力。 4 第二章自主角色框架技术概述 诚实性( v e r a c i t y ) a g e n t 从不有意传送虚假信。 友好性( b e n e v o l e n c e ) a g e n t 之间无矛盾目标,故每个a g e n t 总是尽力完成其它a g e n t 提交的任务。 理性( r a t i o n a l i t y ) a g e n t 不会放弃其目标,直至目标实现,且它不会做出妨碍其目标实现的行 为( 至少在其信念允许范围内是这样) 。 长寿性( 或时间连贯性) 传统程序由用户在需要时激活,不需要时或运算结束后停止。a g e n t 与之不 同,它应该至少在“相当长的时间内连续地运行。这虽不是a g e n t 的必须特性, 但目前一般认为它是a g e n t 的重要性质。 自适应性( a d a p t a b i l i t y ) a g e n t 应能积累或学习经验和知识,并修改自己的行为以适应新形势。 目前对a g e n t 的研究主要分为四大类:智能a g e n t 、多a g e n t 系统( m a s ) 、 面向a g e n t 的程序设计( a o p ) 以及面向a g e n t 的分析设计( 方法学) 。这些研究也 互相关联。智能a g e n t 是多a g e n t 系统的基础,主要从人工智能的角度研究a g e n t 的理论和结构,是a g e n t 研究的微观层次。丽有关a g e n t 之间关系的研究则构成 了m a s 研究的宏观层次。智能a g e n t 和m a s 的成功应用要借助于a g e n t 的方 法学和编程范型,即a o p 开发工具平台和面向a g e n t 的分析设计方法学。前两 者的研究超前于后两者,但是当他们发展到一定阶段的时候,就需要在理论上有 一套行之有效的方法学来指导其建模。 2 2 基于物理的图形建模 从低层次上看,这种方法包括构建游戏角色的动力学模型,通过仿真计算它 们的运动。基于物理的建模意味着物体的运动受物理规律的支配,以便产生自然 的角色运动。而且,这种方法将游戏角色动画师从许多底层次的运动细节的描述 和制作中解放出来,因为运动是通过计算机的仿真过程自动计算出来的。这在计 算物体的被动运动时特别有效,计算机会通过源于牛顿定律的有关方程的组合, 自动的生成它的运动。 基于物理的建模已成功地用在建立无生命物体运动的模型上,如可变形的物 体1 3 】、链条1 4 j 和飘落的树叶【5 】的建模。关于有生命物体的运动方面也有相当多的 研究工作,如人体和动物1 6 】【_ 7 j 的运动。游戏开发人员要控制基于物理的模型,以 便产生有用的动作。可以将基于物理的控制技术分为两类:基于约束的方法和运 第二章自主角色框架技术概述 动合成的方法。 2 2 1 基于约束的方法 基于约束的方法主要是对游戏角色的运动加以运动约束【8 】。如可以限制角色 模型某个部位的运动轨迹,使之遵循用户规定的路线。有两种技术可以用来计算 满足约束的运动:“逆动力学技术和“约束优化”技术。 “逆动力学”技术是通过直接求解运动方程确定游戏角色的运动。关键是要 计算一组“约束力,它使物体的运动符合所给定的约束【9 l 。采用逆动力学方法, 虽然运动效果在物理上正确( 游戏中物体能够对外力的作用产生真实的响应) , 但这并不能保证所产生的运动能逼真地模仿动物的运动模式。例如,当用逆动力 学方法建立一只猫的运动模型时,结果可能看起来不像一只真猫,倒像一只机器 猫。这是因为动物的运动不仅仅依赖于牛顿运动定律,还要遵循生物力学原理。 特别是动物的运动是由有限强度的肌肉所驱动的,因此,与逆动力学技术的假定 相反,真实动物不能产生任意的力合力矩,以便沿着任何预先规定的路线运动。 “约束优化 技术的思路是在“状态时间空间”中描述运动,并定义一个目 标函数或性能指标,从而将运动控制作为一个优化问题来处理【l o 】【l l 】。目标函数 用来评价运动效果,通常认为,需要能量较少的运动是可取的。开环控制器的综 合是搜索满足约束的状态空间轨迹、力和力矩,并使目标函数极小化。通常用反 复迭代的数值方法逐步改善用户提供的初始预测值,计算量往往非常大,因而不 是用于复杂运动的生成。 2 2 2 运动合成的方法 运动合成的方法更接近于真实动物的运动控制的物理规律,它将自然动物的 肌肉组织作为一组执行机构进行合成,可以使动物躯体的运动力学模型产生运 动。不像你动力学方法,运动合成方法能够将动物肌肉的实际限制考虑进去;也 不像约束优化方法,它能保证不违反物理规律。同时,运动合成方法还可以将传 感器纳入游戏角色的模型中,建立感知器和效应器。这样可使游戏角色自动适应 复杂的物理环境。由于这种方法能够模拟真实肌肉,因此作为执行机构,它能够 模仿真实动物肌肉的控制模式,来合成人工动物的各种运动方式。当然其效果也 依赖于所用的生物力学模型的逼真度。但是,采用运动合成方法,游戏开发者对 角色运动过程的控制不如采用基于约束的方法那样直接。 6 第二章自主角色框架技术概述 2 3 感知建模 自主行为是由对环境的感知和行动所支持的,因此,在人工自主智能体中, 建立感知系统是至关重要的。r e y n o l d s 的“b o i d 通过简单的感知相邻的个体来 保持群体队形【1 3 1 1 1 4 】;m a t a r i c 通过物理机器人演示了类似的群体行为f 15 】;m c k e n n a 等描绘了对一只虚拟的手感到危险而后退的蟑螂 1 6 1 ;r e n a u l t 等主张为游戏角色 提供更广泛的合成视觉,包括自动计算世界的内部空间图【l7 】;在t h a l m a n n 的工 作中,虚拟人具有简单的仿真视觉、触觉和听觉感知器,能够完成诸如跟随领导 者、相互致意甚至玩球类游戏的任务【l 引。 一般来说,为游戏角色建立感知系统和为机器人建立感知系统是很不同的。 在一个游戏中,每个场景的详细几何信息总是能够通过询问虚拟世界模型获得, 而不需要各种感知信息处理装置。但在机器人系统中就不同了,为了让机器人能 够获得有用的感知信息,需要进行“可视化处理 的视觉合成系统,包括从图象 中推断三维几何学关系的算法、辨识形状和产生适当的对象描述等。另一方面, 在游戏中,由于已有各种图形对象的数据库可被访问,所以,为游戏角色建立感 知系统的主要目的是强化行为的逼真性。通常,只需要将动物的“感知能力”模 型化,例如视场和盲区。r e y n o l d s 的b o i d s 模型就是一个很好的例子。 在进行自主角色建模时,限制了它感知周围世界的视场,在盲区的自然限制 条件下,它能感知物体的位置,离自己距离,并通过询问虚拟环境模型数据库来 识别物体。它还具有听觉,来接受其它自主角色的消息。更重要的是,它还有一 种“注意机制”,这种机制可以使它将感知聚焦于当前的任务,并同时提供其它 的有关重要信息,以产生令人信服的逼真行为。 2 4 行为建模 2 4 1 行为控制 通过游戏角色的行为建模,游戏角色的行为动作由行为计算模型和算法控 制,因此,游戏开发者就能在较高的层次上,即在行为层上设计动作,而不像在 基于物理的建模中在运动层次上设计动作。这种行为建模的提出是为了处理复杂 的拟人行为【1 9 1 、羊群、鱼群或牛群同步运动的行为【1 4 】和交互式的行为控制问题。 r e y n o l d s 在行为建模方面做出了突出贡献。采用通常的关键帧技术去创作生动的 鸟群或鱼群的动画,需要动画师付出极大的劳动,因为当整个鸟群的运动高度和 谐一致时,每只鸟都有它独特的运动轨迹。用关键帧方法,动画师要在每幅关键 7 第二章自主角色框架技术概述 帧中绘制每只鸟的运动。r e y n o l d s 提出了一个集群行为的计算模型,用他的方法, 每个动画角色称为“b o i d ,是在各自的环境中独立的行动者,每个b o i d 有三个 简单的行为:分离、列队和结合。每个b o i d 都能根据它对局部环境的感知,尤 其是相邻b o l d 的位置,来决定在给定时间采取何种行为。而不用去描绘每一个 b o i d 的具体运动,有组织的群体行为是各个b o i d 之间自主交互作用的结果。 虽然r e y n o l d s 的模型成功的获得了逼真的群体行为,但他对运动的逼真程 度只给了很少的关注。因为只用运动学模型来控制每个b o i d 的运动,各个b o l d 的运用可能看起来不真实,或不能刻画更细致的运动。另外b o i d 的行为模型只 限于描述群体动画。相对于r e y n o l d s 的工作,人工鱼是【2 0 】“自激励 的,并且 具有精细的物理模型来描述逼真的个体动作,而且它的行为模型要丰富得多。 当要创作高等动物的行为时,如人体的行为需要更高层机制的支持,如基于 推理的机制。这种方法要用人工智能技术,并称为任务级行动规划,在这方面最 具代表性的是由b a d l e r 和他的研究组创作的一个叫j a c k 的动画人物【2 引。规划者 将j a c k 的初始状态和他周围的三维世界作为输入,并输出完成所给任务所需的 一系列行动。 2 4 2 行为选择的建模 既然把游戏角色作为一个自主a g e n t 进行建模,那就必将遇到“行为选择” 问题。“行为选择 的任务是明确的,就是从一组可能的行为中,根据游戏角色 当前的内部状态和外部环境条件,选择最合适的行为。设计有效的行为选择机制 是设计自主a g e n t 的主要工作。最合适的行为可由行为选择的目标来评价,野生 动物常常面临危险的情况,在长期求生过程中选择合适的行动是非常关键的。因 此,动物选择行为的最终目标是生存和繁衍。这个目标分解为直接的一系列日常 的行为需求。对于一个机器人来说,为了完成分派给它的任务,行动选择机制必 须维护机器人的安全。对于游戏角色来说,行为选择的目标是获得令人满意的逼 真度。由于上述目标的数学表达很复杂,难以通过数学方法,如最优化方法建立 行为选择机制,因而,行为选择的主要任务是制定适当的设计准则f 2 5 1 。虽然真实 动物的行为选择与游戏角色的行为选择看起来似乎不同,但是他们实质上是类似 的,行为选择机制是动物能面对不断变化的情况选择合适的行为,也就是合理的 适当的行为。当一个游戏的行为看起来逼真时,通常是指它所表现出的行为是合 理的。和真实动物一样,游戏角色也知道逃避危险、抓住机遇和合理的分配资源 等。在游戏中获取这种逼真度的方法包括辨识动物行为选择的重要原则,特别是 不同行为之间的优先级,并将这些原则作为在游戏角色中建立行为选择机制的设 计准则。 s 第二章自主角色框架技术概述 在以前的研究工作中,如r e y n o l d s 的工作,只是为“刺激驱动 行为选择 过程建立了模型。例如,一个b o i d 群体的三个子行为由环境条件直接激活,如 果环境条件可激活多个行为,则选择具有最高权值的那个行为【13 1 。相对的s u n 和g r e e n 通过一组关系决定一个角色的行为选择,每个关系都是从外部刺激到角 色响应的影射1 2 8 1 。具体地说,这些机制没有建立角色的“内部状态模型,因此 不能将智能体的动机考虑进来。所以,限制了他们用于处理复杂的行为选择问题, 这是创建具有多种高水平行为角色所面临的问题。 由于意识到了上述存在的问题,一些研究者提出了“人工动物行为选择的 各种实现方案,既考虑了内部激发,又考虑了外部刺激。m a e s 提出了一个分布 式的,不分层的行为选择机制,叫做“行为选择网”t 2 4 3 1 2 5 q ,结果表明:这种模 型具有某些对真实动物的行为选择也有重要意义的特性,如行为的持续性、投机 性和令人满意的选择效果。但是,分布式结构在提供很好灵活性的同时,也引出 了一些问题,如难以保证最终选择收敛于一个正确的行为。沿着他的工作路线, 其他人也提出了各种不同的网络型的行为选择机制,例如s a h o t a 的机制允许行 为去“投标,具有最高“标值”的行为意味着最合适的选择1 2 川。 上述各种及其他许多机制的共同特征是:行为选择的过程是一种“赢者决定 一切”的选择过程,也就是说,最终的决策仅仅由取胜的行为决定。虽然这种方 法高度集中注意力,因而有效,但它忽略了产生“折中行为”的重要性,真实的 动物具有在不同的、甚至是有冲突的欲望中进行折中的能力。t y r r e l l 实现了一种 称作“自由流动层 的机制 2 7 1 ,来强调这种特殊的动物行为。“自由流动层”在 分层的行动选择结构中实现这种行动,这种分层的行为选择结构同早期动物行为 学家们所提出的类似,赢者只有在层次结构的最低层才选出。 人工鱼1 2 0 】的行为选择机制是将“刺激驱动”机制和“基于动机机制相结 合,因此人工鱼具有在许多复杂行为中进行协调的能力。人工鱼与t y r r e l l 的工 作相似之处是采用“项层底层”分层结构和有连续值的传感器读数,因而能够 产生折中的行为。而与之不同的是人工鱼的行为选择机制实质上采用了在所有选 择中取赢的方法,但同时允许某些为选中的行为影响选中行为的执行。这种方法 比自由流动层更有效。由于不止一个行为影响着完成所选行为的细节行动选择, 因此,最终被选中的行为比用通常的在所有选择中取赢的方法要好些。 2 5 自主角色整体框架 自主角色框架专门用于游戏中智能角色建立,如图2 1 ,它由五部分构成, 自底向上分别是:几何模型、运动模型、行为模型和意图模型,另外还有一个感 9 第二章自主角色框架技术概述 知系统。 几何模型 几何模型处于“金字塔”的最底部,负责角色外观表现。游戏中通常采用 2 d 图片或者3 d 模型软件制作角色的几何模型。这不是研究的重点,在后面的 章节中将不再对其进行详述。 运动模型 运动模型相当于人类的肌肉系统,以各种物理规律为基础,通过考虑自主角 色的各种物理属性,赋予角色一定的速度和加速度,让角色在虚拟环境中动起来。 并且,根据不同的需要,为角色定义了多种不同的运动方式。 行为模型 相对于运动模型,行为模型更能体现自主角色的某种意图。它由一组行为程 序构成,这些行为程序将特定的行为解释为一组运动序列,进而通过运动模型实 现该行为。 意图模型 就像人一样,自主角色会表现出某种行为,其动机都源于它内在的意图,因 此就得有一种机制来产生意图,这便是意图模型。它根据自主角色自身的内部状 态,以及感知系统感知到的外部环境,从备选意图集中选出一个意图作为当前意 图。 感知系统 感知系统是自主角色从虚拟环境中获取信息的重要途径。自主角色做出的某 种行为或进行意图选择,都基于从虚拟环境中感知的各种数据。这里赋予了自主 角色视觉和听觉两种感知,视觉主要用来获取一些位置信息,听觉用来实现球员 间的一些协作。 图2 1 自主角色框架框架 1 0 第三章自主角色运动模型 3 1 运动模型概述 第三章自主角色运动模型 一个自主角色要体现它的自主性,首先要在屏幕上动起来,运动模型就是用 来赋予了自主角色“动”的能力。它通过计算施加在自主角色上的力,再根据角 色的质量计算出角色的加速度、速度以及下一帧在虚拟环境中的位置。它就相当 于人体的肌肉系统,让自主角色能够做出各种基本动作。比如,球场上的球员要 跑动、追球等,这些都需要运动模型提供不同的运动方式来支持。运动模型处在 几何模型之上,行为模型之下,在它们两者之间起着承上启下的作用。它将行为 模型描述的高级行为分解为一组运动方式的序列,并通过调用几何模型中的不同 的角色几何外观,让角色在屏幕上呈现出所作的各种动作。 每种运动方式的计算过程都考虑了力、质量、加速度、速度等几个物理学属 性。力是自主角色做出某种动作的原动力,可以是别的自主角色施加给它的力, 也可以是自己给自己施加的力,并且每个不同的自主角色都有不同大小的最大 力,当某种运动方式计算出的力大于自主角色所具备的最大力时,便用最大力代 替计算出的力,这样便阻止了自主角色做出超出自己能力的不合理的运动。质量 是自主角色一个很重要的属性,它直接影响自主角色在运动中的加速度和速度。 加速度和速度是自主角色运动方式最直接的体现,通过这两个属性,才能计算出 自主角色在屏幕上的位置,进而才能通过在屏幕上不停的绘制,让角色真正动起 来。这里为满足足球比赛球员的各种动作要求,运动模型提供了a r r i v e 、p u r s u i t 、 w a n d e r 和i n t e r p o s e 等几种运动方式,下面将一一详述。 3 2 运动模型中的运动方式 a l r i v e 自主角色通过a 1 t i v e 可以从虚拟环境中的一点到达另一点,并且在接近目标 点时,开始减速,最终以零速度到达目标点。a r r i v e 算法如下: v e c t o r 2 da r r i v e ( v e c t o r 2 dt a r g e t p o s ,d e c e l e r a t i o nd e c e l e r a t i o n ) v e c t o r 2 dt o t a r g e t = t a r g e t p o s p l a y e r p o s 0 ; 第三章自主角色运动模型 d o u b l ed i s t = t o t a r g e t l e n g t h 0 ; i f ( d i s t o ) c o n s td o u b l ed e c e l e r a t i o n t w e a k e r = 0 3 ; d o u b l es p e e d = d i s t | ( ( d o u b l e ) d e c e l e r a t i o n 叠d e c e l e r a t i o n t w e a k e r ) ; s p e e d = r a i n ( s p e e d ,p l a y e r m a x s p e e d 0 ) ; , v e c t o r 2 dd e s i r e d v e l o c i t y = t o t a r g e t 搴s p e e d ,d i s t ; r e t u r n ( i ) e s i r e d v e l o c i t y p l a y e r v e l o c i t y 0 ) ; ) r e t u r nv e c t o r 2 d ( 0 ,o ) ; ) 概算法的直观表示如图3 - l ,a r r i v e 首先计算出自主角色p l a y e r 所在位置到 目标位置的向量t o t a r g e t 和到目标点的距离d i s t ,如果距离不大于0 ,则返回一 个大小为零的力v e c t o r 2 d ( 0 ,o ) ,否则继续根据d i s t 和p l a y e r 运动的加速度 d e c e l e r a t i o n 计算p l a y e r 在当前情况下的速率s p e e d ,进而根据向量t o t a r g e t 计算 出d e s i r e d v e l o c i t y ,其中s p e e d 不能超过p l a y e r 的最大运动速率。最后将 d e s i r e d v e l o e i t y 与p l a y e r 当前的速度之差作为需要施加在p l a y e r 之上的力返回。 i ) e s i r e d v e l o e i t y - p l a y e r v e l o e i t y 图3 1a r r i v e p u r s u i t p u r s u i t 使一个p l a y e r 有能力去阻截另一个p l a y e r ,这在球员追球、截球时特 别有用。假设有两个p l a y e r ,它们分别是p u r s u e r 和e v a d e r ,为了达到阻截的效 果,p u r s u e r 首先会根据e v a d e r 当前的速度,预测下一步e v a d e r 将要处于的位置 t a r g e t ,然后将它作为目标点,通过s e e k 运动至那一点。p u r s u i t 算法如下: v e c t o r 2 dp u r s u i t ( c o n s tp l a y e r 搴e v a d e 0 1 2 第三章自主角色运动模型 v e c t o r 2 dt o e v a d e r :e v a d e r - p o s 0 一m _ _ p p l a y e r - p o s 0 ; d o u b l er e l a t i v e h e a d i n g = m _ p p l a y e r - h e a d i n 9 0 d o t ( e v a d e r - h e a d i n 9 0 ) ; i f ( ( t o e v a d e r d o t ( m _ p p l a y e r - h e a d i n 9 0 ) 0 ) & & ( r e l a t i v e h e a d i n g p o s 0 ) ; ) d o u b l el o o k a h e a d t i m e = t o e v a d e r l e n g t h 0 ( m _ p p l a y e r - m a x s l : e e d o + e v a d e r - s p e e d 0 ) ; r e t u r l ls e e k ( e v a d e r - p o s o + e v a d e r - v e l o c i t y 0 木l o o k a h e a d t i m e ) ; ) p u r s u i t 算法分两种情况来计算施加在p u r s u e r 上的力。当e v a d e r 在p u r s u e r 的正前方时,直接使用a r r i v e 运动方式运动到e v a d e r 的当前位置。其中是否在 正前方是通过判断由p u r s u e r 和e v a d e r 各自所在位置构成的向量t o e v a d e r 与 p u r s u i t 的朝向的夹角大小来确定的。当e v a d e r 不在p u r s u i t 的正前方时,便要预 测e v a d e r 未来的位置。那么这里的“未来”是指什么时候呢? 它正比于p u r s u e r 与e v a d e r 之间的距离,反比于两者的速度之和,用l o o k a h e a d t m a e 表示。所以, p u r s u e r 的t a r g e t 是e v a d e r 在l o o k a h e a d t i m e 这么长时间之后所在的位置。 p u r s u e r v e l o c i t y i ) e s i r e d v e l o c i t y - p u r s u e r v e l o c i t y 图3 2p u r

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论