Particle SystemsParticle Systems
Reference:Reference:Reeves W.: "Reeves W.: "Particle Systems -- A Technique for Particle Systems -- A Technique for Modelling a Class of Fuzzy ObjetsModelling a Class of Fuzzy Objets", Computer Graphics, ", Computer Graphics, 17(3), pp. 359-376, 198317(3), pp. 359-376, 1983
CS 551 – Advanced GraphicsPeter Capelluto
Particle SystemsParticle Systems
Particle systems offer a solution to Particle systems offer a solution to modeling amorphous, dynamic and modeling amorphous, dynamic and fluid objects like clouds, smoke, fluid objects like clouds, smoke, water, explosions and fire.water, explosions and fire.
Representing Objects with ParticlesRepresenting Objects with Particles
An object is represented as clouds of An object is represented as clouds of primitive particles that define its volume primitive particles that define its volume rather than by polygons or patches that rather than by polygons or patches that define its boundary.define its boundary.
A particle system is dynamic, particles A particle system is dynamic, particles changing form and moving with the changing form and moving with the passage of time.passage of time.
Object is not deterministic, its shape Object is not deterministic, its shape and form are not completely specified. and form are not completely specified. InsteadInstead
Basic Model of Particle SystemsBasic Model of Particle Systems1)1) New particles are generated into the New particles are generated into the
system.system.2)2) Each new particle is assigned its Each new particle is assigned its
individual attributes.individual attributes.3)3) Any particles that have existed past their Any particles that have existed past their
prescribed lifetime are extinguished.prescribed lifetime are extinguished.4)4) The remaining particles are moved and The remaining particles are moved and
transformed according to their dynamic transformed according to their dynamic attributes.attributes.
5)5) An image of the particles is rendered in An image of the particles is rendered in the frame buffer, often using special the frame buffer, often using special purpose algorithms.purpose algorithms.
Particle GenerationParticle GenerationParticles are generated using processes with an Particles are generated using processes with an
element of randomness.element of randomness.One way to control the number of particles created is One way to control the number of particles created is
by the particles generated per frame:by the particles generated per frame:NpartsNpartsff = MeanParts = MeanPartsff + Rand() X VarianceParts + Rand() X VariancePartsff
Another method generates a certain number of Another method generates a certain number of particles per screen area:particles per screen area:
NpartsNpartsff = (MeanParts = (MeanPartsSAfSAf + Rand() X VarianceParts + Rand() X VariancePartsSAfSAf) X ScreenArea) X ScreenArea
With this method the number of new particles With this method the number of new particles depends on the screen size of the object.depends on the screen size of the object.
Particle AttributesParticle Attributes Initial positionInitial position Initial velocityInitial velocity Initial sizeInitial size
• InitialSize = MeanSize + Rand() X VarSizeInitialSize = MeanSize + Rand() X VarSize Initial colorInitial color Initial transparencyInitial transparency ShapeShape LifetimeLifetime
Alias|Wavefront’s Maya
Particle DynamicsParticle DynamicsA particle’s position is found by simply adding its A particle’s position is found by simply adding its
velocity vector to its position vector. This can be velocity vector to its position vector. This can be modified by forces such as gravity.modified by forces such as gravity.
Other attributes can Other attributes can vary over time as vary over time as well, such as color, well, such as color, transparency and transparency and size. These rates of size. These rates of change can be global change can be global or they can be or they can be stochastic for each stochastic for each particle. particle.
Particle ExtinctionParticle Extinction When generated, When generated,
given a lifetime in given a lifetime in frames.frames.
Lifetime decremented Lifetime decremented each frame, particle is each frame, particle is killed when it reaches killed when it reaches zero.zero.
Kill particles that no Kill particles that no longer contribute to longer contribute to image (transparency image (transparency below a certain below a certain threshold, etc.).threshold, etc.).
Particle RenderingParticle Rendering
Particles can obscure other objects behind them, can Particles can obscure other objects behind them, can be transparent, and can cast shadows on other be transparent, and can cast shadows on other objects. The objects may be polygons, curved objects. The objects may be polygons, curved surfaces, or other particles.surfaces, or other particles.
Particle RenderingParticle Rendering For Star Trek II, Reeves made two For Star Trek II, Reeves made two
assumptions which made things easier for assumptions which made things easier for him:him:• assumed particles wouldn’t intersect other assumed particles wouldn’t intersect other
geometry (handled occlusion by compositing) geometry (handled occlusion by compositing) Particles can obscure other objects behind Particles can obscure other objects behind them, can be transparent, and can cast them, can be transparent, and can cast shadows on other objects. The objects may be shadows on other objects. The objects may be polygons, curved surfaces, or other particles.polygons, curved surfaces, or other particles.
• treated particles as point light sources, each treated particles as point light sources, each particle contributing a bit to the brightness of a particle contributing a bit to the brightness of a pixel (avoiding hidden surface detection and pixel (avoiding hidden surface detection and shadows). However, the particles did not shadows). However, the particles did not actually cast light on the geometry in the actually cast light on the geometry in the scene; lights had to be added.scene; lights had to be added.
Star Trek II: The Wrath of KhanStar Trek II: The Wrath of Khan
Particle HierarchyParticle Hierarchy
Particle system such that particles can Particle system such that particles can themselves be particle systems.themselves be particle systems.
The child particle systems can inherit The child particle systems can inherit the properties of the parents. the properties of the parents.
GrassGrass
Entire trajectory of a Entire trajectory of a particle over its lifespan is particle over its lifespan is rendered to produce a rendered to produce a static image.static image.
Green and dark green Green and dark green colors assigned to the colors assigned to the particles which are shaded particles which are shaded on the basis of the scene’s on the basis of the scene’s light sources.light sources.
Each particle becomes a Each particle becomes a blade of grass.blade of grass.
white.sand by Alvy Ray Smith(he was also working at Lucasfilm)
MetaballsMetaballs Metaballs are Metaballs are
spheres that blend spheres that blend together to form together to form surfaces.surfaces.
By representing By representing particles as particles as metaballs blobby metaballs blobby surfaces can be surfaces can be created. created.
MetaballsMetaballs
Soft BodiesSoft Bodies
Particle system Particle system deforms the deforms the surface of a surface of a NURBS or NURBS or polygonal object.polygonal object.
chewing gum soft body