Hi guys!
I created a particle generator and tried to make it using JME Physics. But unfortunatly I was only able to have the generator use physics, not the particles. Here's my code:
private void createParticles() {
// DynamicPhysicsNode node = getPhysicsSpace().createDynamicNode();
// node.generatePhysicsGeometry();
// node.setAffectedByGravity( true );
particles = ParticleFactory.buildParticles("particle", 2000, ParticleMesh.ET_POINT);
particles.setEmissionDirection(new Vector3f(0, 1, 0));
particles.setMaximumLifeTime(1000.0f);
particles.setMinimumLifeTime(60.0f);
particles.setMaximumAngle(1.0f);
particles.setMinimumAngle(0.5f);
particles.setStartSize(0.1f);
particles.setEndSize(2f);
particles.setStartColor(new ColorRGBA(1f, 1f, 1f, 1f));
particles.setEndColor(new ColorRGBA(0f, 0f, 1f, 0f));
particles.setControlFlow(true);
particles.setSpeed(0.7f);
particles.setReleaseRate(1000);
particles.setReleaseVariance(0.25f);
particles.setInitialVelocity(0.06f);
particles.setParticleSpinSpeed(0.0f);
particles.setParticleMass(1f);
particles.setParticleSpinSpeed(0.25f);
particles.warmUp(300);
particles.setLocalTranslation( new Vector3f(0, terrain.getHeight(0, 0), 0) );
AlphaState as = DisplaySystem.getDisplaySystem().getRenderer().createAlphaState();
as.setEnabled(true);
as.setBlendEnabled(true);
as.setSrcFunction(AlphaState.SB_SRC_ALPHA);
as.setDstFunction(AlphaState.DB_DST_ALPHA);
// as.setReference(0.0f);
// as.setTestEnabled(true);
// as.setTestFunction(AlphaState.TF_GEQUAL);
TextureState ts2 = display.getRenderer().createTextureState();
ts2.setTexture( TextureManager.loadTexture(
RealisticSky.class.getClassLoader().getResource( "texture/spark.png"), Texture.MM_LINEAR_LINEAR, Texture.FM_LINEAR));
ts2.setEnabled(true);
particles.setRenderState( ts2 );
particles.setRenderState( as );
particles.setRenderQueueMode(Renderer.QUEUE_TRANSPARENT);
particles.updateRenderState();
rootNode.attachChild(particles);
// node.attachChild(particles);
// rootNode.attachChild(node);
}
The physics code is comented out. Is there a way to have particles use physics and therefore obey the law of gravity? I tried to create a fountain like effect with it.