这是我的粒子系统的Irrlicht代码,其中sceneManager
是场景管理器:
irr::scene::IParticleSystemSceneNode *snow = sceneManager->addParticleSystemSceneNode(false, 0, -1, irr::core::vector3df(30, 100, 0));
irr::scene::IParticleEmitter *snowEmitter = snow->createBoxEmitter(irr::core::aabbox3d<irr::f32>(-30, 0, 30, 30, 1, 30), irr::core::vector3df(0, -0.6f, 0), 80, 100, irr::video::SColor(0, 0, 0, 0), irr::video::SColor(0, 255, 255, 255), 600, 1000, 0, irr::core::dimension2df(6, 6), irr::core::dimension2df(8, 8));
snow->setEmitter(snowEmitter);
snowEmitter->drop();
snow->setMaterialFlag(irr::video::EMF_LIGHTING, false);
但是,此代码生成的粒子掉落的速度过快,因为它应该表示降雪。有什么办法可以减慢速度吗?
最佳答案
重力效应器将完成这项工作。在这种情况下,以下代码将起作用:
irr::scene::IParticleAffector *gravity = snow->createGravityAffector(irr::core::vector3df(0, -0.02f, 0), 1);
snow->addAffector(gravity);
gravity->drop();
关于c++ - 降低Irrlicht中粒子系统的速度,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41742409/