public class HelloParticle extends SimpleApplication {
public static void main(String[] args) {
HelloParticle app = new HelloParticle();
app.start();
}
@Override
public void simpleInitApp() {
// 粒子發射器
ParticleEmitter fire = new ParticleEmitter("Emitter", ParticleMesh.Type.Triangle, 30);
// 粒子的生存週期
fire.setLowLife(1f);// 最短1秒
fire.setHighLife(3f);// 最長3秒
/**
* 粒子的外觀
*/
// 加載材質
Material mat = new Material(assetManager, "Common/MatDefs/Misc/Particle.j3md");
mat.setTexture("Texture", assetManager.loadTexture("Effects/Explosion/flame.png"));
fire.setMaterial(mat);
// 設置2x2的動畫
fire.setImagesX(2);
fire.setImagesY(2);
// 初始顏色,結束顏色
fire.setEndColor(new ColorRGBA(1f, 0f, 0f, 1f)); // red
fire.setStartColor(new ColorRGBA(1f, 1f, 0f, 0.5f)); // yellow
// 初始大小,結束大小
fire.setStartSize(1.5f);
fire.setEndSize(0.1f);
/**
* 粒子的行爲
*/
// 初速度
fire.getParticleInfluencer().setInitialVelocity(new Vector3f(0, 2, 0));
// 速度的變化
fire.getParticleInfluencer().setVelocityVariation(0.3f);
// 不受重力影響
fire.setGravity(0, 0, 0);
rootNode.attachChild(fire);
}
}
jme-燃燒的火焰
jme的粒子效果也讓人炫目:
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.