1: Ogre粒子系统通过代码+脚本的方式进行粒子系统创建,在脚本中定义粒子系统及显示效果。然后在Ogre程序运行时加载脚本,从而创建粒子系统。
2: Ogre粒子系统加载过程:粒子系统脚本在系统初始化时被加载(当做资源),加载后系统寻找.particle文件并进行分析, 调用ParticleSystemManager::getSingleton().parseAllSource或者ParticleSystemManager::getSingleton().parseScripe进行脚本分析,读取脚本设置属性,然后调用SceneManager::createParticleSystem()实例化粒子系统。
3: Ogre粒子系统脚本详细说明:举例:
particle_system Examples/GreenyNimbus
{
material Examples/FlarePointSprite #使用的材质名称
particle_width35 #设置粒子的宽度
particle_height 35 #设置粒子的高度
cull_each false #设置一小部分的粒子可见
quota 5000 #设置这个系统在某一时刻所允许包含的最多粒子数
billboard_type point#球状粒子
// Area emitter
emitter Box #从一块儿区域随机发射
{
angle 30#设置发射的粒子可以偏离发射方向的最大角
emission_rate 30#设置每秒要发射多少粒子
time_to_live 1#设置每个粒子在被销毁之前存活的秒数
direction 0 1 0#设置发射器的方向
velocity 0 #给所有粒子设置发射时的速率
colour_range_start 1 1 0 #并且制定了被发射出去的粒子的可用颜色范围
colour_range_end 0.3 1 0.3#并且制定了被发射出去的粒子的可用颜色范围
width 60#设置盒子的宽度
height 60#设置盒子的高度
depth 60#设置盒子的深度
}
// Make em float upwards
affector LinearForce #这个影响器对所有粒子施加一个力,改变粒子的运动轨迹。可以用于重力,风力,或者其它线性力
{
force_vector 0 100 0 #决定了力的大小
force_application add #设置这个力向量作用于粒子动量的方法
}
// Fader
affector ColourFader #修改飞行中的粒子的颜色
{
red -0.25 #设置每秒时间内粒子颜色中的红色分量的调整量
green -0.25#设置每秒时间内粒子颜色中的绿色分量的调整量
blue -0.25#设置每秒时间内粒子颜色中的蓝色分量的调整量
}
}
参考: http://blog.youkuaiyun.com/miaoweiye/article/details/6604646