天天看点

Ogre 2011-12-12-添加粒子特效

粒子系统包括:发射器,粒子,影响器。发射器每秒产生一定数量的粒子,然后影响器改变这些粒子的行为产生特效。

每个粒子具有几个参数:生存时间,方向,速度。。。等等,影响器通过改变这些参数来产生不同的特效。

关键是编写.particle文件,目录:F:\OgreSDK_vc9_v1-7-2\media\particle

例子:

particle_system firework
{
    material            Examples/Smoke
    particle_width      10
    particle_height     10
    quota               5000
    billboard_type      point


    emitter Point
    {
        emission_rate 100
        direction 0 1 0
        velocity  50
        angle 360
        duration 0.1
        repeat_delay 1
        colour_range_start 0 0 0
        colour_range_end 1 1 1
    }
}      

代码:

1         // 粒子系统
 2         Ogre::ParticleSystem* ps = sceneMgr_->createParticleSystem("smoke", "mysmoke1");
 3         sinBadNode_->attachObject(ps);
 4 
 5         Ogre::ParticleSystem* ps1 = sceneMgr_->createParticleSystem("firework1", "firework");
 6         Ogre::ParticleSystem* ps2 = sceneMgr_->createParticleSystem("firework2", "firework");
 7         Ogre::ParticleSystem* ps3 = sceneMgr_->createParticleSystem("firework3", "firework");
 8         Ogre::ParticleSystem* ps4 = sceneMgr_->createParticleSystem("firework4", "firework");
 9         Ogre::ParticleSystem* ps5 = sceneMgr_->createParticleSystem("firework5", "firework");
10 
11         Ogre::SceneNode* node1 = sceneMgr_->getRootSceneNode()->createChildSceneNode(Ogre::Vector3(0, 10, 0));
12         Ogre::SceneNode* node2 = sceneMgr_->getRootSceneNode()->createChildSceneNode(Ogre::Vector3(10, 11, 0));
13         Ogre::SceneNode* node3 = sceneMgr_->getRootSceneNode()->createChildSceneNode(Ogre::Vector3(20, 9, 0));
14         Ogre::SceneNode* node4 = sceneMgr_->getRootSceneNode()->createChildSceneNode(Ogre::Vector3(-10, 11, 0));
15         Ogre::SceneNode* node5 = sceneMgr_->getRootSceneNode()->createChildSceneNode(Ogre::Vector3(-20, 19, 0));
16 
17         node1->attachObject(ps1);
18         node1->attachObject(ps2);
19         node1->attachObject(ps3);
20         node1->attachObject(ps4);
21         node1->attachObject(ps5);
22         //      

ok,ogre基础教程完结。