文档介绍:实验八:粒子系统一、实验目的掌握粒子系统的的原理,、实验仪器VisualStudio2005三、实验原理及过程//利用Ogre实现一个粒子系统效果,并描述程序实现时的思路包括对每个调用的API以及脚本进行详细说明基本概念:粒子系统表示三维计算机图形学中模拟一些特定的模糊现象的技术,而这些现象用其它传统的渲染技术难以实现的真实感的gamephysics。经常使用粒子系统模拟的现象有火、爆炸、烟、水流、火花、落叶、云、雾、雪、尘、流星尾迹或者象发光轨迹这样的抽象视觉效果等等。粒子系统在三维显示中占有很重要的位置,如3D中的雨,雪,喷泉,爆炸等效果都是粒子完成的。粒子是用四边形来表示的,它有长宽,和其方向,有数量和材质,还有重量。这些属性封在粒子属性变换器(Affector)中,Affector中包含颜色衰退变换器(colourFadeAffector)和线形影响变换器(LinearForceAffector)和点状粒子发生器(PointEmmiter),由这些组成粒子脚本文件,。点状粒子发生器随机地从单一的点发射粒子;盒状粒子发生器随机的从一个区域发射粒子。通过创建Plugins你可以向ogre里增加一个新的发谁。当前ogre只支持点状粒子发生器和盒状粒子发射器。当粒子发生器不停的喷发大量粒子时,就可以形成烟、火和爆炸等效果,结构图如下:每个引擎都会有自己的粒子系统,粒子系统特效在游戏中运用广泛,比如射击类游戏中的爆炸特效,烟雾特效,开枪时喷出的火焰,撞击时击出的火花等等多半由粒子系统实现。粒子系统的基本单元是粒子,每个粒子一般具有形状、大小、颜色、透明度、位置、速度、加速度、方向、生命周期等属性。每一帧,粒子系统一般都会执行如下步骤:1)产生新的粒子,并赋予相应的属性;2)删除超过生命周期的粒子;3)更新粒子的动态属性;4)渲染所有有效粒子。OGRE粒子系统组成OGRE粒子系统还是比较清晰易懂的,它由ParticleSystemManage(粒子系统管理器)、ParticleSystem(粒子系统)、ParticleSystemRenderer(粒子渲染器)、ParticleEmitter(粒子发射器)、ParticleAffector(粒子影响器)、Particle(粒子)等组成。1)ParticleSystemManager(粒子系统管理器)此类类似于OGRE中的SceneManager,单件模式,内含粒子系统工厂集合,粒子发射器工厂集合,粒子影响器工厂集合,以及粒子渲染器工厂集合,用于创建和管理粒子系统、粒子发射器、粒子影响器、粒子渲染器。该类还负责加载和分析粒子系统脚本。2)ParticleSystem(粒子系统)具体的粒子系统类,它需要包含具体的ParticleEmitter集合、ParticleAffector集合、ParticleSystemRenderer,Particle集合,用于粒子的创建、更新、渲染。3)ParticleEmitter(粒子发射器)用于创建粒子,赋予粒子初始属性赋值,最重要的方法是_initParticle(),该类为抽象类,OGRE中提供了如下派生类,自己也可以根据需要编写自己的Emitter:AreaEmitterBoxEmitterCyl