Particle Systems – Technique for Modeling a Class of Fuzzy Objects Craig Schroeder Computer Graphics I April 22, 2004
Problem How do you model objects that are fuzzy or not well defined? –Fire –Clouds –Explosions How do you model complex behavior? –Motion blur –Fluid behavior –Changes in shape and appearance
High Level Approach ● Object is modeled as a system of particles – Particles might be spherical, elongated, points, etc. – Particles are simpler and more efficient to deal with than meshes or other representations – Easier to produce effects like motion blur ● The technique is procedural and stochastic – Less human interaction required – Can zoom in for additional detail – Can be precisely controlled
Particles Have a Life, Too ● Each motion sequence consists of many steps – Generating new particles – Particles are given attributes – Particles die when they have lived a predetermined amount of time – Particles are moved and updated at each frame based on their characteristics and properties – The scene is rendered
Particle Generation ● Quantity determined statistically based on coverage density and area ● Number created based on mean, variance, and a uniform random number on [-1, 1] – Number = Mean + Rand * Variance – Number = (Mean + Rand * Variance) * ScreenArea – Mean may change – Why Variance? (Dimensional analysis failure
Particle Attributes ● Motion – Position ● Updated by adding velocity at each frame – Velocity ● Constant here ● Could be updated to simulate gravity ● Lifetime – Measured in frames – Decremented at each frame, die when zero
More Attributes ● Color – Changes over time – Rate-of-change parameter ● Size – one pixel here ● Transparency ● Shape – Point – Sphere – Elongated, for blurring
Particle Rendering ● Simplifying assumptions – Particles do not intersect modeling primitives – Particles are point light sources ● No shadows ● Single pixel ● Colors of all particles at that point are added ● Colors saturate ● Vastly simplifies system ● Rendered into frame buffer
Particle Hierarchy ● Particles in a hierarchy – Particles of a system may themselves be particle systems – Attributes of parent used to determine characteristics of children – Some changes to parent affect entire branch – Allows global control of system ● E.g., wind or terrain
Application – Genesis Demo ● Simulates effect of Genesis bomb ● Bomb hits surface, and a wall of fire radiates out ● Creates oceans and mountains ● Causes vegitation and earthlike conditions
Genesis Demo ● Top level simulation – Centered at impact – Each particle is a secondary simulation ● Secondary simulation – Fire appearance – Explosion appearance ● Varying start times creates expanding wall
Explosions ● Particles fly away from surface ● Particles drawn back by gravity ● Motion blur used for realism
Impact
Expanding Wall of Fire
Wall of Fire
Approaching Fire
Engulfed by Fire
Application – Fireworks
Application – Grass
Future Work ● Particles reflect light ● Clouds – Complex – Large number of particles – More efficient rendering needed – Shadows