粒子系统主要分为两大类:
- 一是Effective中已有的效果,如雨雪的效果应用;
- 二类是一步步从模版,发射器等创建。
关于第一种的使用可以参见上一篇博客OSG粒子系统应用:雨雪效果。本篇博客来使用第二种方式创建一个喷泉的效果。
废话补多说,直接上代码:
osg::ref_ptr<osg::Node> Fountain::createFountain(osg::Group* parent)
{
// 设置粒子模板的参数,包括生命周期、颜色、透明度、半径、重量等
osgParticle::Particle pParticle;
pParticle.setLifeTime(3);
pParticle.setColorRange(osgParticle::rangev4(
osg::Vec4(0.7, 1.0, 1.0, 1.0),
osg::Vec4(0.8, 1.0, 1.0