Importing blender particle emitters

I have a particle emitter created in blender (a sphere with the particle emitter modifier), but when I try to import the model, the IDE stays at “saving file” and I have to close it to make it stop. The scene will import just fine without the particle emitter. Is there a special way I have to set up the emitter in Blender or something? I don’t see why it’s not working, because I read here that emitters are supported. Although I am using Blender 2.7, could that be an issue?

1 Like

So I’ve found a work around. In Blender, I place a small sphere where a particle emitter should be, and then in my code I replace the spheres with the emitter.

from your link :smile:
I have exactly the same problem. But I dont see where the emitter was saved.
I have simple scene:

  • delete all
  • insert Susane model
  • add particles
  • parameters: start1, end 3, particles number:50
  • save → export

SDK still saving my file, when create from Ogre Scene file I have full scene but without any particles. So question is - how you made the emitter (in SDK?) and how import it from blender?

What I did is in Blender I placed a small untextured sphere anywhere I wanted to place an emitter. Then I give each sphere a name, but all of them have a common key word that describes what type of emitter they are (Ex. for fire I’d name them fire-1, fire-2, etc.). Then in the game, it will search the world’s root node for anything with the key word (in this case fire), and remove the sphere and place the corresponding emitter in it’s place. This is the code I’m using to do this:

for(Spatial s : world.getChildren()){
            if(s.getName().contains("fire")){
                ParticleEmitter p = new ParticleEmitter("fire", Type.Point, 10000);
                p.setLocalTranslation(s.getLocalTranslation());
                world.detachChild(s);
                p.setMaterial(mat_fire);
                p.setGravity(Vector3f.UNIT_Y.mult(-1));
                p.setNumParticles(10000);
                p.setParticlesPerSec(50);
                p.setMeshType(ParticleMesh.Type.Triangle);
                world.attachChild(p);
            }
   }

I’m using this method until they improve the Blender importer. But it works just fine.