Special effects with particle systems

Started by
2 comments, last by m4gnus 18 years ago
Hi... I'm thinking of ways to augment my particle system. The main reason is that with the current implementation i can't find a way to build more complex special effects than just particles. These includes lightning bolts, procedular effects like breaking glass, and other things. The way the current system works is by having a particle system with the following properties: 1) A particle emitter for generating particles on various surfaces (boxes, spheres, meshes, etc.) 2) A particle renderer which is responsible for transform particles into various shapes (points, quads, meshes, etc.) 3) A list of particle animators for altering particle properties in time (including spline based keyframe animation of properties). Up until now i could be able to combine every emitter with every renderer in case to build various effects, for example fire on a box, on a car, etc. The problem with the above mentioned effects (e.g. lightning) is that the renderer must be closely related to the emitter. For example if i make an emitter that generates particles on the path of a lightning bolt, then i must use a renderer that knows that, and generate lines from the particles. How can i handle such situations without introducing errors to the system? E.g. if i use a quad renderer with the lightning emitter it will look wrong. Should i change the whole system in case to put the renderer and the emitter in the same class? This will be a little hard, if i want to support all combinations. How do you handle such effects? Should i consider a different path other than particle systems for those "complex" effect? Thanks in advance. HellRaiZer
HellRaiZer
Advertisement
generating a lightning bolt with particle systems seems quite hard. I would create actual geometry for that(like a cylinder with a few subdivisions along it's axis and offset those randomly[could be done in a vertex shader]).

For breaking Glass:
In the most games i've seen so far the glass always breaks the same way. So you could just create the small glass pieces yourself and replace the glass mesh with the smaller pieces if someone breaks the glass.

regards,
m4gnus
"There are 10 types of people in the world... those who understand binary and those who don't."
m4gnus thanks for the reply. The lightning example i gave in the first post was based on this. As you can see on a screenshot at the bottom, the author talks about lightning effects and how it was built from a particle system. My initial thought was exactly what you suggested. This is, actual geometry (maybe a lightning node in the scenegraph). But i was curious how can this be done with particles.

The lightning effect and the breaking glass effect were just examples. I remember Teknofreek talking about some complex effects in this topic, and i was wondering how these things can be done. For example he talked about procedural ribbons (geometry?, particles?) from one character to another and a shield effect on the target character. These effects are similar to the lightning effect, in the way that they need a specific renderer with a specific emitter.

The main reason for starting this thread was to hear from others if my design is good or bad and what i can do to extend it. I gave the two examples because those are somewhat difficult to achieve with my system.

HellRaiZer
HellRaiZer
interesting article. i haven't read the article completly but he says the he constructs the particle shapes for each lightning branch, so it every branch seems to be 1 stretched particle facing the camera.

ribbons:
i think that are traingle strips that behave a little like particles. A common use of ribbons is for example when a character swings his sword there's a ribbon following it(in warcraft 3 for instance).But i'm not 100 sure on this.

regards,
m4gnus
"There are 10 types of people in the world... those who understand binary and those who don't."

This topic is closed to new replies.

Advertisement