Influencer-based ParticleEmitter candidate (mesh-based animated particles)

@t0neg0d said: @pspeed So sorry to both, but I would like to take this same approach with the emitter shapes as well. As it stands right now, I've only created the single triangle emitter shape, but plan on putting together the IsoSphere/IsoHemispere shapes as well. Is there any downside to having these types of methods? I don't want the emitter to limited by what it is now... and I don't know of another way of allowing for this sort of thing.

Well, many cases where one takes a Class argument and calls newInstance() might be better served by a factory interface.

1 Like

What’s the current situation with this? I am looking to use some more particles and things like the mesh emitter from this look really useful.

2 Likes

Hi,

I’ve been trying to get this working and I get no errors but also nothing happens. Have I missed something?

[java]
ColorInfluencer ci = new ColorInfluencer();
ci.setStartColor(0,0,1,1);
ci.setEndColor(1,0,0,0.25f);
ci.setEnabled(true);
SizeInfluencer si = new SizeInfluencer();
si.setStartSize(0.15f);
si.setEndSize(0.1f);
si.setEnabled(true);

    Emitter em = new Emitter(
            "Poison",
            AppContext.getJme3().getAssetManager(),
            ((Geometry)n.getChild(0)).getMesh(),
            ParticleDataMesh.Type.Point,
            50,
            ci,
            si);
    em.setBillboardMode(Emitter.BillboardMode.Camera);
    em.setEmissionsPerSecond(25);
    em.setLifeMin(1.5f);
    em.setLifeMax(2f);
    em.setSprite("Textures/Flame.png", 128, 128);
    em.setEnabled(true);
    
    AppContext.getJme3().getRootNode().attachChild(em.getNode());
    AppContext.getJme3().getRootNode().addControl(em);

[/java]

Thanks,
Z

1 Like

well this certainly looks really cool. I remember watching this post a while back.

whats become of your new emitter system @t0neg0d ? is there anywhere I can go to check it out? (the repo link you posted a few pages back doesnt work anymore, i suppose its been moved)

1 Like
@icamefromspace said: well this certainly looks really cool. I remember watching this post a while back?

whats become of your new emitter system @t0neg0d ? is there anywhere I can go to check it out? (the repo link you posted a few pages back doesnt work anymore, i suppose its been moved)

I posted the code for everyone… I think. Um… one sec

https://code.google.com/p/tonegodemitter/source/browse/

There it is.

1 Like

That emitters and influencers are quite awesome!, but, I found a leak for the use I want to give to them. Their are “not rotable”, for example, I would like to face a “pillar effect” to where the player is looking at (to make spell attacks and such). Would it be possible to you to make these influencers “rotables”?

Another question I have is, why aren’t these influencers on the sdk by default?.

1 Like

If you are asking if the you can billboard the emitter results, this is possible in multiple ways (if I remember correctly). You can use the existing billboard control in JME to face the resulting mesh (or multiple particle meshes) towards the camera… or (depending on the setup of the particles), you can use the internal billboarding of the emitter itself.

As for being part of JME SDK, I don’t think the devs like my code very much (at least this is the impression given from prior conversations… ya know… “I wouldn’t use your code if my life depended on it”, etc… who can blame um though… I AM kinda (or more than kinda) a hack.

1 Like

What I really want is just to rotate the effects, as they can be translated (translating the emitter), rotate them, so they looks just the same but rotating them in the 3D space.
I tried with the emitter billboard and with the mesh… but I think I’m missing something.

1 Like

Oh, the resulting mesh can be rotated… there is a method for getting the particle mesh node… can’t recall off the top of my head what it is though. Um… actually, I believe there is a flag for setting the particle in local/world space, however, this may affect other aspects of the overall effect, depending on what the emitter is set up to do.

I would rotate the resulting mesh node.

1 Like

The billboarding internal to emitter is particle specific. it billboards each particle separately. You would want to billboard the actual node containing the particle mesh…

1 Like

Ok, I’m kinda stupid xD, I was trying all this time rotating the Y axis on a vertical effect -.-, so, obviously, there was no change. I get what I want just rotating the node that contains the emitter control, like you said.

Thanks for your help.

2 Likes

Missed you too :wink:

2 Likes

I was kidding… hi!

2 Likes

Welcome back! Also, don’t forget to move your GoogleCode stuff over to GitHub or elsewhere.

2 Likes

Necro-monkey! Apparently, this awesome code was still on google’ server and nobody moved it to github. So I did and also pushed an update for 3.1 compatibility…

https://github.com/Pesegato/tonegodemitter

I’m not a gradle/jcenter/jitpack (or whatever) expert, so for now is just @t0neg0d repo with 3.1 compatibility…

Documentation here:

https://wiki.jmonkeyengine.org/legacy/doku.php/jme3:contributions:particles

http://wiki.jmonkeyengine.org/doku.php/jme3:contributions:particles:reference

4 Likes

Just an FYI, that project does not have any license associated with it, so legally it cannot be used for anything.

1 Like

As stated there by tonegod it is the same licence as JME : FX Builder : cloning & save/load capsule support - #91 by t0neg0d

2 Likes

How late I am to meet such an awesome stuff!

@Pesegato 's fork changed to:

@javasabr made an particle editor with it.

wiki pages changed to:
http://jmonkeyengine.github.io/wiki/jme3/contributions/particles.html
http://jmonkeyengine.github.io/wiki/jme3/contributions/particles/reference.html

1 Like
1 Like

The wiki content is too old, I can’t run tonegod emitter with that.

I found this thread, in which t0neg0d provide a test project on sourceforge.

The project use tonegod.gui.jar and tonegod.emitter.jar, which were build with jme 3.0. I’ still can play with it.

Thanks to @sgold, with his work I can use gradle to intergrate the newly build tonegod gui to my project, now it works fine for me.

This is my fork of tonegod emitter with all the test cases.

4 Likes