There is an example with milkshape, but I would like to use it on 3ds or better on a node.
Therefore I have written a class:
package game.bin.effects;
import com.jme.image.Texture;
import com.jme.math.Vector3f;
import com.jme.renderer.ColorRGBA;
import com.jme.scene.Geometry;
import com.jme.scene.Node;
import com.jme.scene.state.AlphaState;
import com.jme.scene.state.LightState;
import com.jme.scene.state.TextureState;
import com.jme.scene.state.ZBufferState;
import com.jme.system.DisplaySystem;
import com.jme.util.TextureManager;
import com.jmex.effects.particles.ParticleFactory;
import com.jmex.effects.particles.ParticleMesh;
public class Effect_Fire extends Node{
public Effect_Fire(Node object){
DisplaySystem display = DisplaySystem.getDisplaySystem();
AlphaState as1 = display.getRenderer().createAlphaState();
as1.setBlendEnabled(true);
as1.setSrcFunction(AlphaState.SB_SRC_ALPHA);
as1.setDstFunction(AlphaState.DB_ONE);
as1.setTestEnabled(true);
as1.setTestFunction(AlphaState.TF_GREATER);
as1.setEnabled(true);
TextureState ts = display.getRenderer().createTextureState();
ts.setTexture(
TextureManager.loadTexture(Effect_Fire.class.getClassLoader().getResource("game/data/texture/effect/flaresmall.jpg"),
Texture.MM_LINEAR_LINEAR,
Texture.FM_LINEAR));
ts.setEnabled(true);
ParticleMesh manager = ParticleFactory.buildParticles("particles", 200);
manager.setEmissionDirection(new Vector3f(0.0f, 1.0f, 0.0f));
manager.setMaximumAngle(0.20943952f);
manager.getParticleController().setSpeed(1.0f);
manager.setMinimumLifeTime(150.0f);
manager.setMaximumLifeTime(225.0f);
manager.setStartSize(8.0f);
manager.setEndSize(4.0f);
manager.setStartColor(new ColorRGBA(1.0f, 0.312f, 0.121f, 1.0f));
manager.setEndColor(new ColorRGBA(1.0f, 0.312f, 0.121f, 0.0f));
manager.getParticleController().setControlFlow(false);
manager.setInitialVelocity(0.12f);
//manager.setGeometry((Geometry)(object.getChild(0))); <
PROBLEM!!!!!!
//manager.setGeometry((Geometry) object); <
PROBLEM!!!!!!
manager.warmUp(60);
manager.setRenderState(ts);
manager.setRenderState(as1);
manager.setLightCombineMode(LightState.OFF);
manager.setTextureCombineMode(TextureState.REPLACE);
ZBufferState zstate = display.getRenderer().createZBufferState();
zstate.setEnabled(false);
manager.setRenderState(zstate);
this.attachChild(manager);
}
}
How must I use manager.setGeometry() that my node begins to burn?!