在Ogre程序中,
粒子系统可以利用代码实现,但也可以利用脚本语言。不过,一般情况下,都是利用脚本语言。在Ogre中只要将记事本的后缀名定义为.particle,Ogre会自动识别其为粒子脚本。现在有人制作了一个
ParticleEditor
――粒子脚本编辑器,可以在以下地方进行下载
(http://www.game-cat.com/ogre/pe/ParticleEditor_Beta.zip),可以方便的在其界面中设置我们需要的粒子脚本,同时将其信息存取为记事本的形式。
粒子系统中的发射器有几个参数需要理解:
1.
angle
粒子发射器发射出的粒子的最大偏移角
2.
colour
设置所有发射出的粒子的固定颜色
3.
colour_range_start & colour_range_end
粒子颜色将为这2中颜色值之间随意的产生
4.
emission_rate
粒子发射器发射出的粒子数
5.
velocity
每次发射粒子的恒定速度
6.
time_to_live
每个粒子在销毁之前存活的时间。不过,它可以利用参数repeat_delay复活
7.
duration
发射器发射的粒子处于激活状态的数量
8.
repeat_delay
粒子销毁到激活需要等待的时间数
在程序中加载一个粒子系统的步骤也很简单,只需:
1.
创建一个粒子系统对象,如:
ParticleSystem*lightParticle= mSceneMgr->createParticleSystem("LightParticle", "myLight");
createParticleSystem
函数中第一个变量为粒子系统的名称,有利于根据名称查找到该粒子系统;第二个变量为我们创建的粒子系统的脚本语言的名称。
2.
创建一个节点,用于绑定刚才创建好的粒子系统对象。
该节点可以根据自己的需要创建,也既是灵活的将粒子绑定在各个不同的节点上。如:
mSceneMgr->getRootSceneNode()->createChildSceneNode()->
attachObject(lightParticle)
不过,总的说粒子系统还是影响渲染效率的。