摘要:
漫游行为就像它的名字一样,角色在场景中毫无目的的移动。这通常用来模拟巡视和觅食,也有纯粹是为了漫游而漫游的。 阅读全文
摘要:
对象回避主题的完整意义是指,在机车行走的路线中存在一些障碍物,机车必须绕开、防止触碰到它们。 阅读全文
摘要:
躲避就是追捕的反行为。就像追捕类似于寻找,躲避类似于避开。 阅读全文
摘要:
对于追捕行为,它非常类似寻找行为。其实追捕的最后一个动作就是调用寻找。追捕的本质是预测目标所要到达的位置并事先赶到。 阅读全文
摘要:
到达行为在很多场合都可以被当作是寻找行为。实际上,它们之间的算法和处理方式都一样。唯一不同的是,在到达模式中,一辆机车在到达目标的某一距离时,会变成一种精确模式慢慢地靠近目标点。 阅读全文
摘要:
避开行为与寻找行为彻底相反。 阅读全文
摘要:
寻找行为只是把机车移动到指定点。 阅读全文
摘要:
转向机车类继承机车类并增加转向行为。每个行为都被定义成公开函数,在每帧或者一段时间间隔内调用以实现对应的转向力。通常所有转向力在调用之后再调用机车的update函数。 阅读全文
摘要:
机车类是转向角色的基类,但它不提供任何转向行为,只处理与运动相关的基本内容,如位置,速度,质量以 及角色接触场景边缘后的反应(反弹还是穿越出现在另一边)。转向机车(SteeredVehicle)类继承机车类,并为之增加转向行为。使用这样的结构 其目的是为了让机车类可以用于仅需要移动而不需要转向行为的对象,同时也可以让转向机车类不考虑基本运动的细节而专心实现转向功能。 阅读全文
摘要:
转向行为已经被各种语言实现过多次了,其最底层是用向量来描述的(也是最常见的实现方式)。
概括的看,一个向量由两部分组成:一个方向和一个大小。比如,一个运动中对象的速度由它要去哪里(方向)和移动快慢(大小)两部分组成。因此,把速度看作一 个向量是最贴切不过的。加速度——任何改变对象速度的作用力——同样也是由力的方向和大小组成(另一个向量)。向量同样也可以用来描述对象间的位置关系, 其中大小代表距离,方向代表角度。
向量还可以用来表示一个角色(脸)的朝向,这种情况下就只管方向,而忽视大小,也可以说大小等于1。这样的向量叫做单位向量(unit vector)。实际上,只有一单位长度的向量,在数学运算上能起到很大的优化作用。
向量的所有这些特性对转向行为来说都很有用,因为速度,队伍方向,对象间距离,对象的朝向都会被大量的使用。 阅读全文