论文摘要
群体模拟在动画、电影、游戏等产业中应用广泛,比如模拟群鸟迁移,鱼群、人群的运动,甚至赛车等。近年来在其它领域如训练模拟,公共安全控制,人工生命,虚拟人等方面也有了较多应用。群体模拟中最典型的场景就是群体从A点到B点的运动过程,因此群体模拟也可以归结为群体运动的模拟。目前,群集模拟主要基于三种方式:一、运动学方式,即“关键帧”方法。用这种方法来制作一群个体的运动路径可是项繁重工作,要逐一规划每个角色的运动路线,并要在每一帧都防止群体成员间的碰撞;后期的任何小小改动所带来的工作量和花费都很大。二、人工智能方式,这种方式制作出来的运动路径真实感强但实现成本高。三、粒子模拟,这种方式下群体的运动行为是通过控制粒子流的运动来实现的。这种方式成本很低,因为在很多3D软件中都提供了相应的粒子系统。但是由于粒子系统是受外加场力作用,并不提供粒子间交互的功能,这不符合群体的内部机制,因此真实感欠佳。针对现有技术的不足,本文在粒子模拟方法的基础上,通过对自主智能体的感知系统、自主行为模型进行深入的研究,取得了以下研究成果:(1)对传统算法做了改进,将maya粒子系统与基于个体的分布式模型—Boids模型相结合,在maya的场景中建立一个虚拟主体的行为模型;(2)利用maya粒子系统,将每粒子视作一个agent,引入本地坐标系,通过定义感知范围及角度的方法实现虚拟感知,在以每粒子为中心的感知区域内应用相应的区域法则;(3)通过虚拟力作用于agent求出经由力影响后速度的变化,模拟出区域空间内粒子间的相互影响作用和群体效果;设计了agent的基本行为集合,并根据行为分层理论,把行为组织成层次结构,在此基础上通过多种方式的组合来支持agent完成高阶的任务;(4)通过maya节点和MEL命令,将上述算法应用到粒子群中的每粒子上,对粒子群中的每粒子应用了分离、调准、聚合三种基本虚拟力使粒子群呈现自然的群聚(flocking)状态,应用避障引导力实现粒子对环境中任意形状障碍的自然避绕效果。实验证明,本论文所提出的技术方法可以很好地实现用粒子展示群体的追踪、逃跑、群聚、避障等一系列特定场景,并保证很高的渲染效率。