Addons to particles that could be interesting...
-
- Posts: 1638
- Joined: Mon Apr 30, 2007 3:24 am
- Location: Montreal, CANADA
- Contact:
Addons to particles that could be interesting...
I've played a lot on particles today in IRREdit to make my fountain (had lot of fun too )and if someone could have time to implement theses (only a proposition )
- Particle blur: Since most particles move fast, putting a kind of shader blur effect on them could increase realism a lot. (Explosions, Water, sand storm, etc...)
- Particle bounce. This addons could have 2 options. First option is to calculate in real-time the particle impact until the "dead time". And another could try to pre-calculate the impact (So the second option will not be interactive). Adding this also will greatly improve realism. We could define a simple plane or box for the collision object (visible flag deactivated afterward) (Explosion with fragments hitting the walls or environnement, waterfalls, etc.)
- Wind Effector. This addon could take a node with a vector and strength of the wind that could affect the particle motion. Having 2 options on this could be great (Interactive (low particle simulation) and non-interactive (pre-rendered motion for lots of particles)
- Alpha Start and Alpha end. Animating the Alpha value of the particle could be great for, having a particle having, gravity, wind, etc then at the dead time the particle could be completely dissoved. This could be used for a kind of realistic fireball effect (To fade out the flame at the end in the background). The value could be used on the "live" value already defined. (So we could do a fade at the end or the beginning depending on the need)
- Particle blur: Since most particles move fast, putting a kind of shader blur effect on them could increase realism a lot. (Explosions, Water, sand storm, etc...)
- Particle bounce. This addons could have 2 options. First option is to calculate in real-time the particle impact until the "dead time". And another could try to pre-calculate the impact (So the second option will not be interactive). Adding this also will greatly improve realism. We could define a simple plane or box for the collision object (visible flag deactivated afterward) (Explosion with fragments hitting the walls or environnement, waterfalls, etc.)
- Wind Effector. This addon could take a node with a vector and strength of the wind that could affect the particle motion. Having 2 options on this could be great (Interactive (low particle simulation) and non-interactive (pre-rendered motion for lots of particles)
- Alpha Start and Alpha end. Animating the Alpha value of the particle could be great for, having a particle having, gravity, wind, etc then at the dead time the particle could be completely dissoved. This could be used for a kind of realistic fireball effect (To fade out the flame at the end in the background). The value could be used on the "live" value already defined. (So we could do a fade at the end or the beginning depending on the need)
how about soft particles?
paper about soft particles: http://developer.download.nvidia.com/SD ... les_hi.pdf
but i think it only supported by dx10...
is there's something like 'fake soft particles' using some different algorithm but the result is very near to the one by dx10?
paper about soft particles: http://developer.download.nvidia.com/SD ... les_hi.pdf
but i think it only supported by dx10...
is there's something like 'fake soft particles' using some different algorithm but the result is very near to the one by dx10?
My company: http://www.kloena.com
My blog: http://www.zhieng.com
My co-working space: http://www.deskspace.info
My blog: http://www.zhieng.com
My co-working space: http://www.deskspace.info
-
- Posts: 1638
- Joined: Mon Apr 30, 2007 3:24 am
- Location: Montreal, CANADA
- Contact:
I've done a quick look over that documentation. This technique seem a bit expensive for the GPU (They got less than 30 fps on a GeForce 8800 because they used particles to do a kind of volumetric fog)
When rendering a fog, they use the particle to render it (no linear gradient) but a smooth one created by the particles.
When rendering a fog, they use the particle to render it (no linear gradient) but a smooth one created by the particles.
-
- Admin
- Posts: 14143
- Joined: Wed Apr 19, 2006 9:20 pm
- Location: Oldenburg(Oldb), Germany
- Contact:
Oh, there is a fade out affector already. Also the wind affector can be done (maybe with gravity, but at least with the new attraction affector).
Particle bounce should be possible to implement. You'd have to set the planes somehow and do quick tests for collision and some simple reflection. Anyone willing to do it?
I'm not sure if I get the blur thing. Is this dynamically changing, and what is the difference to transparent particles?
Particle bounce should be possible to implement. You'd have to set the planes somehow and do quick tests for collision and some simple reflection. Anyone willing to do it?
I'm not sure if I get the blur thing. Is this dynamically changing, and what is the difference to transparent particles?
i think blur can be done by using shader (motion blur). But not with the current dizzy-view blur. The better one is called object blur or something like that.
By the way, is it possible to make particles to cast shadow?
By the way, is it possible to make particles to cast shadow?
My company: http://www.kloena.com
My blog: http://www.zhieng.com
My co-working space: http://www.deskspace.info
My blog: http://www.zhieng.com
My co-working space: http://www.deskspace.info
-
- Posts: 1638
- Joined: Mon Apr 30, 2007 3:24 am
- Location: Montreal, CANADA
- Contact:
And, how about normal mapping for particles?
My company: http://www.kloena.com
My blog: http://www.zhieng.com
My co-working space: http://www.deskspace.info
My blog: http://www.zhieng.com
My co-working space: http://www.deskspace.info
-
- Posts: 1638
- Joined: Mon Apr 30, 2007 3:24 am
- Location: Montreal, CANADA
- Contact:
I was thinking also about emitters. At the moment, there is only point and box. (I'm very happy theses are there but I would like more variants)
It could be cool to add sphere, plane, disc and arbitrary shape (a simple mesh).
Sphere could be more realistic than cube on certain simulation (but surely slower, we could define a sphere subdivision for the accuracy of the simulation.)
Planes could be good in lot of situations (Like I was doing for example for "faking" water particles bouncing back on my fountain. I sized my cube emitter so that it was almost flat.)
Disc could be used for an emitter releasing smoke in a crater for example.
Arbitrary shape could be used to simulate an object(mesh) composed of particles, kind of the momy movies (Sand face, or water face). Surely this could hit some CPU but could create some very special effects. The artist would surely have to use a very simple mesh to get a good FPS speed.
Those emitter could be defined as primitives in Irrlicht the we could define theses primitives as particles emitter. (Like we define a mesh as a OCCTREE). So for example the water node could be defined as a disc instead of a plane for an effect like "stargate"...
Other question, In IRREDIT, I wasnt able to use more than one affector. Is this a limitation of the editor or IRRLICHT? For my fountain, I'm using only gravity and I had would like to use the fade out particle affector.
Could we use the fade out affector also to colorize the particles? (From a color to another). The best thing (As I've used in Lightwave particles) are Gradients. We can colorize the particles on the life time, then define a gradient color and alpha. This is excellent for simulating fire and explosions.
Another idea, also for the particle is to generate motion paths for objects meshs (A new type of animator -- particle animator--). It surely would be the hardest part to integrate but would surely pay off. It would look very much like a physic system but would have a "mesh emitter". (an example could be a meteor shower, an army, a flock of birds, etc.). For that that kind of simulation we would have to define a "bounding box or sphere" for the size of the particle for the collision and bounce. Then the motion could be applied to static or animated meshes. Theses motions paths could be "pre-rendered" in certain cases to save some FPS on the engine. When simulating this, it would be also a good idea to implement calculation for particle inter-collision (particles that hit each other)
The current system IRRLICHT have a lots of potential. With theses "addons", this could surely get some more attention on it. With the advent of more and more power from the graphic cards, we could surely do some new and never seen stuff coming out of our demos.
With all theses things implemented, I don't think we would need a physic engine... Or is a physic engine could be applied to particles? (could save some time in the developpement and use a physic engine to do the collision, winds, force of the emission calculation of the particles) Particle motion is all physics related.
I only wish, I could be a professionnal coder. I could have worked myself to add theses extension to the particle system. Someone have the capabilities and some spare time?
It could be cool to add sphere, plane, disc and arbitrary shape (a simple mesh).
Sphere could be more realistic than cube on certain simulation (but surely slower, we could define a sphere subdivision for the accuracy of the simulation.)
Planes could be good in lot of situations (Like I was doing for example for "faking" water particles bouncing back on my fountain. I sized my cube emitter so that it was almost flat.)
Disc could be used for an emitter releasing smoke in a crater for example.
Arbitrary shape could be used to simulate an object(mesh) composed of particles, kind of the momy movies (Sand face, or water face). Surely this could hit some CPU but could create some very special effects. The artist would surely have to use a very simple mesh to get a good FPS speed.
Those emitter could be defined as primitives in Irrlicht the we could define theses primitives as particles emitter. (Like we define a mesh as a OCCTREE). So for example the water node could be defined as a disc instead of a plane for an effect like "stargate"...
Other question, In IRREDIT, I wasnt able to use more than one affector. Is this a limitation of the editor or IRRLICHT? For my fountain, I'm using only gravity and I had would like to use the fade out particle affector.
Could we use the fade out affector also to colorize the particles? (From a color to another). The best thing (As I've used in Lightwave particles) are Gradients. We can colorize the particles on the life time, then define a gradient color and alpha. This is excellent for simulating fire and explosions.
Another idea, also for the particle is to generate motion paths for objects meshs (A new type of animator -- particle animator--). It surely would be the hardest part to integrate but would surely pay off. It would look very much like a physic system but would have a "mesh emitter". (an example could be a meteor shower, an army, a flock of birds, etc.). For that that kind of simulation we would have to define a "bounding box or sphere" for the size of the particle for the collision and bounce. Then the motion could be applied to static or animated meshes. Theses motions paths could be "pre-rendered" in certain cases to save some FPS on the engine. When simulating this, it would be also a good idea to implement calculation for particle inter-collision (particles that hit each other)
The current system IRRLICHT have a lots of potential. With theses "addons", this could surely get some more attention on it. With the advent of more and more power from the graphic cards, we could surely do some new and never seen stuff coming out of our demos.
With all theses things implemented, I don't think we would need a physic engine... Or is a physic engine could be applied to particles? (could save some time in the developpement and use a physic engine to do the collision, winds, force of the emission calculation of the particles) Particle motion is all physics related.
I only wish, I could be a professionnal coder. I could have worked myself to add theses extension to the particle system. Someone have the capabilities and some spare time?
-
- Posts: 368
- Joined: Tue Aug 21, 2007 1:43 am
- Location: The Middle of Nowhere
-
- Posts: 1638
- Joined: Mon Apr 30, 2007 3:24 am
- Location: Montreal, CANADA
- Contact:
Cool, I just knew this.Dark_Kilauea wrote:The latest svn version of irrlicht includes:
Ring, Sphere, Cylinder, and Mesh emitters plus attraction and rotation affectors.
But yes, there is a lot of potential, and a lot of other emitters and affectors that could be implemented
My company: http://www.kloena.com
My blog: http://www.zhieng.com
My co-working space: http://www.deskspace.info
My blog: http://www.zhieng.com
My co-working space: http://www.deskspace.info
Way to change particelsize
How about a way to randomize Particle-Size between "from" and "to"?
I modified the 08.tutorial, added some smoke to the fire and it looked booring. I missed those little sparks coming out of a real fire, so I added them too, but to get it cozy I had to add 3 sizes of sparks.
To add only 1 type wich size varies between (2.f,2.f) and (5.f,5.f) just like the colour varies would have been nicer. I think this feature may come handy not only in my situation, but as size isn't part of SParticle this might need a bigger rework. If this wouldnt work for performant display of particles, forget my plea
I modified the 08.tutorial, added some smoke to the fire and it looked booring. I missed those little sparks coming out of a real fire, so I added them too, but to get it cozy I had to add 3 sizes of sparks.
To add only 1 type wich size varies between (2.f,2.f) and (5.f,5.f) just like the colour varies would have been nicer. I think this feature may come handy not only in my situation, but as size isn't part of SParticle this might need a bigger rework. If this wouldnt work for performant display of particles, forget my plea
Padreigh
-
- Posts: 1638
- Joined: Mon Apr 30, 2007 3:24 am
- Location: Montreal, CANADA
- Contact:
Hi, Found a picture of another engine, that show Particle motion blur.
If that kind of motion blur could be applied to particles, it could greatly improve realism in the movement. (Water, fire, rain, etc...)
On the second screen we see an interface to set the particles. But the interesting part to show, is the gradients used there for the color attributed in the particles. (Almost like the ones we use in Lightwave)
If that kind of motion blur could be applied to particles, it could greatly improve realism in the movement. (Water, fire, rain, etc...)
On the second screen we see an interface to set the particles. But the interesting part to show, is the gradients used there for the color attributed in the particles. (Almost like the ones we use in Lightwave)