诸暨动画设计制作虚拟行人的5种行为
2)角色行为控制模型 在对虚拟角色动力控制模型的建模基础上,我们通过对受力向量的数学计算得出合成受力,从而 驱使虚拟行人的各种行为。
(1)位置点追寻与逃离行为。 位置点追寻行为( seek)用于调整角色的速度向量指向目标位置,使得虚拟角色朝着指定的位置运 动。目标速度的方向由角色指向目标,大小为最大速度或者是角色的当前速度,而角色的受力速度方 向则是目标速度与当前速度的差值。 逃离行为( flee)的具体策略和追寻是一样的,只是目标速度相反。图5. 23 追寻与逃离图5. 24 到达
(2)到达行为。 到达( arrival)行为在角色距离目标比较远的时候,和追逐是一模一样的。但是,它并不会控制 角色全速通过目标。当角色离目标比较近的时候,它会使角色减速,最终缓慢到达指定的位置。如图 5-24所示,角色在距离目标一定距离的时候就会开始减速,该距离可作为该行为控制中的参数。
(3)避开障碍。 避开障碍行为赋予了一个角色躲开环境中障碍的能力,这一点在虚拟场景中至关重要。在检测时 ,我们将虚拟角色和各种障碍都抽象为球体,这样做可以实现更有效率的碰撞检测。 如图5.25所示,避开障碍行为的过程如下:在角色的前进路线方向上绘制一个虚拟的圆柱体(图 5. 25中浅色的圆柱体),圆柱体的地面半径等于角色的保卫球半径(确保将角色包含进去),圆柱体 的高由角色的速度和灵活性等参数决定。算法对每个障碍物进行遍历,判断圆柱体是否与它相碰,只 需采用简单的几何计算即可实现相交性检测。对落在圆柱体影响范围外的障碍无需处理,否则选择距 离圆柱体最近的障碍物图5. 25 避开障碍 *flash动画创作与后期视频处理技术*作为最有可能发生碰撞的候选障碍物。避开障碍行为通过对角色 施加与圆心到障碍物中心相反的推力来使它远离障碍物。
(4)路径跟随。 路径跟随行为会使一个角色沿着一条既定的路线前进。我们将路径描述为一根中心线和一条半径 。中心线代表了这条路径的方向,而以这个中心线和半径生成的“圆柱体”就是这条路径。路径跟随 行为使角色沿着这个特定的路径管道前进,如果最初角色没有在这T -路径之内,它就必须首先选择就 近位置进入这条路径才能实现跟随行为。路径跟随行为iJ:意如图5. 26所示。 图5. 26 路径跟随
(5)漫游。 漫游是随机行为控制的一种。在每一帧对角色施加一个随机的外力。会造成角色的不规则运动, 无法保证运动的真实感。于是我们保持外力施加的方向,并在每一帧的位置加上一个随机的位移,使 角色随机的从一个地点走到另一个地点。具体做法是:将控制力固定在角色前方一个球体上(见图5. 27中的大圆),每一帧将一个随机的位移添加在上一帧的控制力上,讦将得到的结果强制约束到这个 球体的表面。其中球体的半径决定了漫游中最大的“力”,随机位移的大小由图中的小圆半径决定。 漫游行为示意图如图5-27所示。
转载请注明:
诸暨flash动画制作公司:http://www.flash520.com/city193/