AI-Steering编程
文章平均质量分 92
wkyb608
这个作者很懒,什么都没留下…
展开
-
[AI-Steering编程]一.创建机车
家里终于拉上网线了,好久没到论坛里逛了,最近在学习里的SteeringVehicle编程.写了些笔记,发出来跟大家一起分享/*----------------------------文章原创,转载请注明出处:我的博客:http://blog.sina.com.cn/ladeng6666------------------------------*/Steer这个单词在英文中的解释为”驾驶,掌舵”,就像字面上翻译的那样,这次我学习的主要内容是steering机车的编程,steering编程转载 2010-11-11 15:59:00 · 1286 阅读 · 0 评论 -
[AI-Steering编程]六.躲避行为
六.躲避行为你应该意见猜到了,躲避行为是追捕的反行为,它与追捕的不同点在于,追捕是在seek”未来目标”,而躲避是在flee”未来目标”: public function evade(target:Vehicle):void { var lookAheadTime:Number = target.position.dist(_position) / _maxSpeed;转载 2010-11-11 16:10:00 · 790 阅读 · 0 评论 -
[AI-Steering编程]七.漫游行为
七.漫游行为“漫游行为”就像它的名字一样,机车在场景中漫无目的的游走,对于漫游的的解释,我就不掺假了,还是完全套用中的官方解释: 漫游是指角色在场景中毫无目的的移动.这通常用来模拟巡视和觅食,也有纯粹是为了漫游而漫游的. 漫游行为在实现上不像听起来那么容易.简单的使用随机而产生的布朗运动,会让角色感觉像一个神经病的傻瓜.我们需要更自然更平滑的感觉.有个办法,通常设想在角色前方有个圆,然后把圆上任意一点作为目标,每次更新都想这个随机点移动.由于目标点总是落在假象的圆上,所以转向力永远不会一下子就变转载 2010-11-11 16:11:00 · 824 阅读 · 0 评论 -
[AI-Steering编程]九.路径跟随
九.路径跟随路径跟随,就是按照指定的路径行驶,这个就简单了,看下面的讨论吧!9.1目的如题,机车按照指定的路径行驶9.2实现靠近路径的wayPoint,Seek下一个wayPoint9.3讨论路径跟随的基本思路就是假设在路径上有n个wayPoint,这样机车的路径跟随就可以化解为seek一个一个的wayPoint,这样就不用路径中那些弧形弯而犯愁了.好了,看看程序怎么实现吧.首先我们要向一个wayPoint进行行驶,如前面讲的使用seek方法,当机车与wayPoint的距离dist小于特定的pathThre转载 2010-11-11 16:12:00 · 986 阅读 · 0 评论 -
【AI-Steering编程】三.避开机车
三.避开行为3.1目的避开行为与寻找行为相反,避开指定点3.2实现l计算到目标的转向力l随转向力转向,实现避开行为3.3讨论l计算到目标的转向力关于转向力的计算与寻找算法的一样,可以参考上一章.l随转向力转向,实现避开行为寻找行为是把机车向target拉,避开行为则是把机车往target外推,所以把add(force)改成substract(force)即可: public function flee(target:Vector2D):void {转载 2010-11-11 16:04:00 · 1291 阅读 · 0 评论 -
[AI-Steering编程]五.追捕行为
五.追捕行为追捕行为实际是寻找行为的一种(这句话好耳熟啊,哈哈,上一章里就说过了).5.1目的计算追逐对象的未来目标,实现有效的追捕5.2实现计算目标的”未来位置”,机车先发制人,在”未来目标”等着目标.5.3讨论关于追捕与寻找的区别,看一下示例”5-1-Compare.swf”就明白了5-1-Compare.swf (4.23 KB)下载次数: 112009-12-27 23:37下载消耗 银子 1 两 下载 (22.07 KB)2009-12-27 23:37如上图所示,转载 2010-11-11 16:07:00 · 663 阅读 · 0 评论 -
[AI-Steering编程]十.群落行为
十.群落行为看大雁,快看快看,一会排成”S”形,一会儿排成”B”形,多么可爱啊!!哈哈,开个玩笑了,本章的群落行为还没有那么智能,能排出”SB”来,讲到这里我就不用再解释群落行为了吧!10.1目的实现像大雁那样的群落行为10.2实现l计算平均位置averagePosition和平均速度averageVelocitylSeek平均位置和平均速度,别太远也别太近10.3讨论l计算平均位置averagePosition和平均速度averageVelocity在一个群落整体中行走,呀,离A有点远了,赶紧追上,有离B转载 2010-11-11 16:15:00 · 890 阅读 · 0 评论 -
[AI-Steering编程]二.寻找行为
二.寻找行为2.1目的实现机车自动移动到指定点.2.2实现l计算到目标的转向力l随转向力转向,实现寻找行为2.3讨论l计算到目标的转向力所谓寻找行为实际就是机车自动移到指定的目标点,要实现寻找,那么一定要有促使机车向目标点移动的转向力,转向力又怎么算呢?按照里讲的,转向力应该是desiredVeloctiy和当前velocity的矢量差,而desiredVelocity是目标position与机车当前position的矢量差,什么什么什么啊,是不是看的头大了啊,没关系,看一下下面的分解图转载 2010-11-11 16:02:00 · 730 阅读 · 0 评论 -
[AI-Steering编程]四.到达行为
四.到达行为4.1目的到达行为是寻找行为的特殊情况,靠近目标后,减速并停止在目标位置上4.2实现l寻找目标l判断与目标的距离是否在arrivalThreshold内,如果在arrivalThreshold内,减速直到停在目标位置4.3讨论在” 2-1-force2.swf”的示例中,停止移动鼠标细细观看,你会发现机车一直在鼠标的前后徘徊,这是为什么呢?回头看看我们的算法可以找到答案.机车想目标的移动一直都是以最大的速度maxSpeed进行移动的,所以,跑过头之后,有以最大的速度再跑回来,又过头,转载 2010-11-11 16:06:00 · 528 阅读 · 0 评论