在 Irrlicht 中减慢粒子系统的速度

Slow down the speed of a particle system in Irrlicht

这是我的粒子系统 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();