- 1、本文档共48页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
转向行为
AdvancED ActionScript 3.0 Animation
简体中文翻译
第 2 章 V0.2
本章由RIABook的 hbbalfred 翻译,N 神 整理
由于本书正在由多个网友连载翻译中,由于翻译者术语,文风有可能不同等问题,未来可
能会有所更新,请注意翻译的版本号。
所有本书翻译的最新消息会更新在下边的网址中,请注意保存。
/zh_book/advanced-
as3-animation-cn.htm
1
第 2 章 转向行为
转向行为(steering behaviors)这一术语,指的是一系列使对象行动起来像似长有智商的
算法。这些行为都归于人工智能或人工生命一类,是让对象呈现出拥有生命一般,对如何移动
到目的地、捕捉或逃避其它对象、避开障碍物、寻求路径等做出因地适宜的决定。
这个术语创造于 Craig Reynolds 在 1999 年的游戏开发者大会上发布的一篇标题为“自主
角色的转向行为”(Steering Behaviors for Autonomous Characters)的论文。它描述了一系
列算法,用来创建出一个部队系统,应用于模拟或者游戏中的角色。部队通常会给角色在行动
上带来各种影响。他们围绕着力度在强弱上也各不相同,比如鸟群。实际上,Reynolds 的
boids就是用来模拟鸟群的。
Reynolds 的论文可以在/cwr/steer/中找到,而搜索论文标题同样能得到更
多的下载地点。在论文中,虽然提及一个 C++版本的开源程序 OpenSteer(
/),但是对于算法的实现,Reynolds 没有涉及到很深。但
有很多对该系统基本原理的描述,人工智能运动引擎创建于这些原理之后。这一章将跟随其步
伐,把论文中提到的大部分行为,用 AS3 创建出来。
在此之前,先明确这章的目的:介绍行为,了解行为,展示一个实现这些行为的框架。一
些行为根据复杂度不同,实现起来有多种不同方式。所有行为都不存在一个标准或者正确的做
法,实现上给出的也是很简单的样式。换句话说,仅从介绍和展示的角度去考虑实现。要是用
于产品开发的话,提供的代码需要根据要求做大量调整。
行为
首先,预览一下几个基本行为,看看它们是什么,要干什么。
2
寻找(seek):角色试图移动到一个指定点。该点可以是一个固定点也可以是把另一个角色
作为目标的移动点。
避开(flee):与寻找正好相反。角色试图避开一个给定点。同样,这个点也可以是固定点
或者移动点。
到达(arrive):和寻找相同,除了角色的速度在接近目的地时会减慢,最终以一个渐变运
动恰好停留在目标处。
追捕(pursue):寻找的加强版。由于目标会做加速运动,所以角色会事先预测然后再移动
到该点。很明显,由于固定点是不会有速度概念的,所以这里用目标代替点的概念。
躲避(evade):与追捕正好相反。角色对目标的速度做出预测,然后尽可能躲避开来。
漫游(wander):随机但平滑又真实的运动。
对象回避(object avoidance):角色预测出对象的行动路径,然后避开他们。
路径跟随(path following):角色尽可能的沿着自己的路径移动,但要考虑符合一些真实
的物理现象,以及使用其它行为后的影响。
除了这些行为,还有复杂的类似鸟群这样的复合行为,它大致上由以下三种简易行为合
成:
分离(separation):鸟群中每个角色都试着和相邻角色保持一定的距离。
凝聚(cohesion):每个角色尽量不掉队,不落下太远。
队列(alignment):每个角色尽可能与相邻角色行动于同一方向。
虽然是三个相对简单的行为,但合在一起时就能产生出难以想象的群体效果,像鸟群或是
其它生物群体。调整这三个行为中的各个参数会改变群体的性质,有经常分散的松散型队伍,
有紧密的小团体,还有有一个带头的率领着的队伍,等等多种
文档评论(0)