Paper Summaries Any takers? Particle Systems Projects - - PDF document

paper summaries
SMART_READER_LITE
LIVE PREVIEW

Paper Summaries Any takers? Particle Systems Projects - - PDF document

Paper Summaries Any takers? Particle Systems Projects Assignments Assignment #1 Presentations Due yesterday (January 12 + grace period!) Schedule is now up on Web site 2 nd Assignment Please e-mail me with your


slide-1
SLIDE 1

1

Particle Systems

Paper Summaries

  • Any takers?

Projects

  • Presentations

– Schedule is now up on Web site – Please e-mail me with your preference of presentation day/time

  • First come, first served
  • Last day already booked

Assignments

  • Assignment #1

– Due yesterday (January 12 + grace period!)

  • 2nd Assignment

– Due January 26th

  • 3rd Assignment

– Due February 11th

  • Mid-Quarter Report

– Due Jan 21st

Plan for today

  • This week:

– Moving groups of objects

  • Today: Flocking
  • Wednesday: Particle Systems
  • Today

– Short (but visually enjoyable) lecture – No break

Motivation Films

  • Animation featuring…

– Particle Systems

slide-2
SLIDE 2

2

Motivational Film

  • Particle Dreams (1988)

– Karl Sims – Between playing with genetics, Sims was programming Particle Systems on his CM-2 Connection Machine

  • 64K 1 bit processors

Motivational Film

  • Genesis Sequence (1982)

– From Star Trek II: The Wrath of Khan – Williams Reeves – Origin of the term “particle systems” – First use of particle systems – Notice names in credits

Plan For Today

  • Topics

– Particle Systems

Particle Systems

  • A means for of modeling fuzzy objects,

such as fire, clouds, smoke, water, etc.

– Don’t have smooth well-defined surfaces – non-rigid objects

  • Term coined by William Reeves who first

used particle systems in “Star Trek II”

Particle Systems

  • Modeling
  • 1. An object is not represented by a set of

primitive surface elements, but as clouds of primitive particles that define its volume.

  • 2. A particle system is not a static entity, its

particles change form and move.

  • 3. An object represented by a particle system is

not deterministic, its shape and form is not completely specified. Stochastic!

Particle Systems

  • Advantages
  • 1. Complex systems can be created with little

human effort.

  • 2. The level of detail can be easily adjusted.
slide-3
SLIDE 3

3

Particle Systems

  • Basic Model

1. New particles are generated 2. Each new particle is assigned its own set of attributes 3. Any particles that have existed for a predetermined time are destroyed 4. The remaining particles are transformed and moved according to their dynamic attributes 5. An image of the remaining particles is rendered

Let’s go through each step in turn

Particle Generation

  • Generated using a controlled stochastic

process

  • Each particle will come from an emitter

– Has a number of particles – Random number of particles/frame – Randomize initial values of each particle

Particle Generation

  • Emitters at certain locations

– Fixed (Water spraying from hose) – Distributed

  • Designate emitters on surface or in 3D space

– Semi-random

  • Designate center of emitter distribution
  • Emitters randomly distributed about the distribution

center

Particle Generation Particle Attributes

  • Usually assigned using controlled randomness

– Initial position – Initial velocity (both speed and direction) – Initial size – Initial color – Initial transparency – Shape – Mass – Lifetime

Particle Termination

  • When a particle’s lifetime is

up, a particle must be terminated and removed from simulation

  • Lifetime usually given in

frames

slide-4
SLIDE 4

4

Particle Termination

  • For efficiency’s sake

– Create a pool of particles – Not all particle in pool are “alive” at a given frame – Reuse particle after they’ve been terminated

  • Particle reincarnation!

Particle Termination Particle Motion

  • Particles are guided by simple dynamical

simulation

– F = MA – A = acceleration (initial push, gravity, etc) – V = current velocity = dt * A + Vprev – X = current position = dt * V + Xprev

Particle Motion

  • Collisions

– Particles will collide with environment – Particles do not collide with other particles

  • Forces

– Gravity – Wind forces – Damping – Vortices / Force Fields – Collisions – Whatever might be appropriate

Particle Rendering

  • Particle is modeled as a point light source

– No physical geometry – Do not reflect light – Adds color to pixel (based on transparency/color)

  • Particles only cast shadows on objects in

environment, not each other

Particle Rendering

  • Particle’s color and transparency can be a

function of:

– Time – Lifetime left – Height

  • Particle shape can be a function of

– Velocity – Can use lines to model motion blur

slide-5
SLIDE 5

5

Particle Rendering

  • In gaming systems,

– Particles are very often rendered as square or triangle parallel to view plane – Texture map with transparent background

Particle Independence

  • One reason particle systems is so attractive

is that each particle is treated independently

  • f every other

– Lends itself to a parallel implementation

Group behavior

  • Particle Systems is just one example of group

behavior.

  • Which also includes

– Particle Systems – Flocks – Autonomous Behavior

  • Difference is in the amount of physics vs.

intelligence which control the object motion.

– We’ve definitely crossed the line into AI.

Group behavior

few Autonomous Behavior some Flocks many Particles Intelligence Physics Elements Group

Enough Talk

  • Let’s see this in action

– Applet

Particle System Effects

  • Grass, Smoke, fire, clouds, water
  • Fireworks, explosions
  • Fluid flow
  • Physical simulations
slide-6
SLIDE 6

6

Particle System Effects

  • Examples

– From Nan’s 1996 CGII Web page

Particle System Effects: Explosion Particle System Effects: Water Particle System Effects: Comet Particle System Effects: Deathstar Particle System Effects: Fire

slide-7
SLIDE 7

7

Particle System Effects: Fire + Smoke Particle System Effects: Forcefield

Writing Particle Systems

  • Discussion

– Gamasutra Article

  • Code

– Particle System API (C++) – Game Developer Web site (July 1998)

Questions

  • As promised

– No break today

  • Next time:

– Hierarchical Models and animation