jme-燃燒的火焰

jme的粒子效果也讓人炫目:
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);
    }
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章