Questions about Particle Systems

Started by
3 comments, last by HellRaiZer 17 years, 9 months ago
Hey guys, I finally wrote a particle system class for my engine (woohoo). It seems to be working just fine. However, now I want to see what I can really do with it. I’m currently using a simple texture of a sphere with an alpha channel which results in a round texture. I’m wondering what other styles people use for particles and what the resultant affect is? If anyone has screen shots to share or texture maps to share, I’d appreciate it. I’m playing with various algorithms now for fire, smoke, dust, explosion, etc… There are so many variables and combinations it’s hard to find one that’s just right for each. Also, for now the size of each particle is fixed. Do more people keep the particle size fixed or dynamic? I was wondering if as the particle moves further from the center if I should stretch it, or leave it fixed? Another question is how to generate a smoke cloud above a fire? As the particles move away I have them cool down into smoke and then they die out. I want it to appear as if they are accumulating into a smoke cloud. As its working now, the particles thin out as they rise and move apart then fade to nothing. Should I create a second emitter for the smoke cloud above the fire or should I stop the rising particle at a fixed height and keep it there for a delayed period which theoretically would create a natural cloud of the rising particles? Just curious what your thoughts are? Thanks all.
3DMUVE is an amateur game development team, and the designer and developer of a new gaming technology “MUVE” for the gaming industry.
Advertisement
I'm going to push this over to GP&T as you might get a better discussion about particle systems [smile]

Quote:Original post by QuadMV
I’m wondering what other styles people use for particles and what the resultant affect is?
Animated particle textures can look quite effective if you want smoke/dust type effects. Static textures show up quite a bit if you create a slow-moving particle system...

Quote:Original post by QuadMV
Also, for now the size of each particle is fixed. Do more people keep the particle size fixed or dynamic?
I tend to scale mine with distance from the camera.

Quote:Original post by QuadMV
I was wondering if as the particle moves further from the center if I should stretch it, or leave it fixed?
Up to you, but I typically fade particles out as they move further from the origin...

Quote:Original post by QuadMV
Another question is how to generate a smoke cloud above a fire? As the particles move away I have them cool down into smoke and then they die out.
Admittedly I'm not 100% sure, but smoke particles != fire particles in the real-world... thus modelling them as the same thing might not be the best way of doing it. As you suggested, splitting them into two emitters might work well.


I can't find any URL's right now, but there have been quite a few research papers/projects on physically accurate particle rendering. I had some pretty cool videos of smoke effects billowing around various primitive shapes...

hth
Jack

<hr align="left" width="25%" />
Jack Hoxley <small>[</small><small> Forum FAQ | Revised FAQ | MVP Profile | Developer Journal ]</small>

Not sure if you've seen this before but it's a great way to visualize particle systems and what they are made of.

Particle Illusion 3.0

-------!(>_<)!-------play some of my games!
Quote:
I tend to scale mine with distance from the camera


Instead of scaling based on distance from the camera, I scaled the particle based on distance from the origin, so as it gets further from the origin it gets larger. This provides a good affect as a flame turns to smoke. I also fade it as it gets further from the origin and dies out. Togehter I think I got the burning vehcicle effect to work pretty well. I'm still tweaking it but the overall functionality seems to be working now.

Thanks for the suggestions
3DMUVE is an amateur game development team, and the designer and developer of a new gaming technology “MUVE” for the gaming industry.
Hi QuadMV...

Here is some papers and web pages talking about particle rendering. I don't know how many of them you have already read, but i think you can get an idea.

1) Building an advance particle system (html, pdf)
2) Particle Systems API by David K. McAllister
3) Particle systems : A Technique for modelling a class of fuzzy objects (pdf)
4) Enchancing the control and performance of particle systems through the use of local environments (pdf)
5) Building a Million Particle System (html, pdf)
6) The ocean spray in you face (pdf)
7) Implementing a Particle System (gamedev thread)

Some of them talk about how to setup particle systems, and how to implement the core of the system. Unfortunatelly i haven't found a paper talking about rendering of specific effects like smoke and fire, so i think you have to find how this is done yourself. Or maybe someone else can comment.
Just a note on fire and smoke. I think they can't be rendered as one particle system because fire needs additive blending and no sorting, and smoke needs alpha blending and sorting. I think nVidia used a single 3D texture for both fire and smoke in the Vulcan demo, and i suspect a single particle system, but i don't know how exactly it was done. Maybe someone else can comment on that too.

Just my 2 cents.

HellRaiZer
HellRaiZer

This topic is closed to new replies.

Advertisement