CO1301: Games Concepts Lecture 22 Particle Systems

Slides:



Advertisements
Similar presentations
This terms course Last term we both worked on learning 2 things –Processing –The concepts of graphics etc. This term will focus more on the basic concepts.
Advertisements

Physics 218: Mechanics Instructor: Dr. Tatiana Erukhimova Lectures 6,7.
Chapter 3 Motion in Two Dimensions
Kinematics II April 20, 2017.
Friction and Gravity.
CO1301: Games Concepts Dr Nick Mitchell (Room CM 226) Material originally prepared by Gareth Bellaby.
Modelling and Simulation Dynamics. Dynamics Dynamics is a branch of physics that describes how objects move. Dynamic animation uses rules of physics to.
CO1301: Games Concepts Dr Nick Mitchell (Room CM 226) Material originally prepared by Gareth Bellaby.
Physics The study of physical forces and qualities: the scientific study of matter, energy, force, and motion, and the way they relate to each other The.
Computer Science Term 1, 2006 Tutorial 3 Assignment 4 – Special Effects.
Kinematics in 2-D Concept Map
CO1301: Games Concepts Dr Nick Mitchell (Room CM 226) Material originally prepared by Gareth Bellaby.
Chapter 3 Acceleration Lecture 1
CO1301: Games Concepts Dr Nick Mitchell (Room CM 226) Material originally prepared by Gareth Bellaby.
© 2010 Pearson Education, Inc. Lecture Outline Chapter 3 College Physics, 7 th Edition Wilson / Buffa / Lou.
Physics The study of physical forces and qualities: the scientific study of matter, energy, force, and motion, and the way they relate to each other The.
CO1301: Games Concepts Dr Nick Mitchell (Room CM 226) Material originally prepared by Gareth Bellaby.
Chapter 2 Describing Motion: Kinematics in One Dimension.
FORCES OF MOTION Georgia Shared Resources. STANDARDS.
Graphics for Games Particle Systems CO2301 Games Development 1 Week 23.
CO1301: Games Concepts Dr Nick Mitchell (Room CM 226) Material originally prepared by Gareth Bellaby.
Vectors Chapter 2.  Scalars and vectors : A scalar quantity: is a quantity that has magnitude only. Mass, time, speed, distance, pressure, Temperature.
Chapter 4 Linear Motion. Position, Distance, and Displacement Position: being able to describe an object’s location is important when things start to.
Homework 2 Unit 14 Problems 17, 19 Unit 15. Problems 16, 17 Unit 16. Problems 12, 17 Unit 17, Problems 10, 19 Unit 12 Problems 10, 11, 16, 17, 18 Unit.
Chapter 2 Motion in One Dimension. Kinematics Describes motion while ignoring the external agents that might have caused or modified the motion (Dynamics.
Kinematics in One Dimension
This lecture will help you understand:
Acceleration is the change in velocity per unit time.
CO1301: Games ts 2015 Lecture 6 Vectors Dr Nick Mitchell (Room CM 224)
Chapter 11 Motion.
Bell Ringer You throw a football horizontally, and drop a football from the same height and at the same time. Which will hit the ground first? PLEASE.
Projectile Motion Physics Honors.
Motion Physics: Unit 2.
Physics 103: Lecture 4 Vectors - Motion in Two Dimensions
OOP Paradigms There are four main aspects of Object-Orientated Programming Inheritance Polymorphism Abstraction Encapsulation We’ve seen Encapsulation.
FORCES & THEIR EFFECTS In This Topic We Will Learn About:
Representing Motion Chapter 2.
Projectile Motion.
Physics 207, Lecture 5, Sept. 20 Agenda Chapter 4
Kinematics in One Dimension
Acceleration is the change in velocity per unit time.
Projectile Motion.
Free Fall A state of motion where an object has a constant acceleration because it is only affected by force of gravity - so there can be no air resistance.
Physics 218 Lecture 15 Dr. David Toback Physics 218, Lecture XV.
MechYr2 Chapter 6 :: Projectiles
Devil Physics Baddest Class on Campus AP Physics
Projectile Motion 2-D Motion.
CHAPTER 10 TABLE OF CONTENTS SECTION 1 MEASURING MOTION
Kinematics Vectors and Motion
Chapter 4 Linear Motion Pages
Would you be surprised if you let go of a pen you were holding and it did not fall?
S-9 Define the term motion. Give an example of something in motion.
Projectile motion can be described by the horizontal and vertical components of motion. Now we extend ideas of linear motion to nonlinear motion—motion.
Vectors & Equilibrium Sara sultan 07/04/2019.
CO1301: Games Concepts Lecture 21 Timing + Quads + Numbers
Acceleration and Free Fall Notes
Chapter 2 Motion.
S-9 Define the term motion. Give an example of something in motion.
Fundamentals of Physics School of Physical Science and Technology
CO Games Concepts Week 12 Collision Detection
BELLWORK 1/04/17 What is a projectile?.
CO Games Concepts Week 22 Particle systems
Chunk 5 Application of Newton’s Laws
Chapter 4 Linear Motion.
Graphs of Motion.
Vectors add direction to a magnitude.
Projectile Motion Physics Honors.
Mathematics Vectors a b c LabRat Scientific © 2019.
BELLWORK 1/04/17 What is a projectile?.
College Physics, 7th Edition
Presentation transcript:

CO1301: Games Concepts Lecture 22 Particle Systems Dr Nick Mitchell (Room CM 226) email: npmitchell@uclan.ac.uk Material originally prepared by Gareth Bellaby

Particle systems A particle system is a simulation of phenomenon such as smoke, rain or fire as a set of discrete particles. Discrete means separate. The different type of effects are created by changing: textures blending colour physics of the system

Efficiency Typically quads are used: Faster than a model with depth. Orientated towards the camera so that they always appear 3D.

Emitters A particle system has an emitter. Particles come out of the emitter. They have an initial velocity. They have a lifetime. This could be dependent upon time (e.g. die after a certain point) or location (e.g. die when they hit the ground) You could re-use a particle after it has died. A particle that has died is re-emitted. In this way the particles cycle around and around. A system has been created.

Basic physics of the system The central concept is that particles have an initial velocity, and then gravity is then applied to them. Gravity will change the velocity of the particle over time. Different particles in the system will be moving at different speeds. Gravity only affects the y-component. You could apply other forces: e.g. drag because of air resistance. swirling because of wind.

Types of particle systems The appropriate physics is applied to the particles. No hard and fast rules: It is a matter of aesthetics and the effect you want to achieve...

Fountain Single point emitter. Particles are emitted in a small fan. Fast initial velocity. Blue particles Blend so that overlaid textures darken. Physics is an initial velocity outwards. Gravity then pulls the particles downwards. Gravity causes them to fall after a period. Destroyed when hit the ground.

Smoke Single point emitter Grey particles. Blend so that overlaid textures darken Smoke gently rises (because smoke is light and the emitter is a heat source) The air is hot so it rises and the smoke is light and gets carried along. A small amount of gravity. Destroyed after a certain amount of time. Could use swirling, e.g. employ noise.

Rain Surface emitter Grey particle. Maybe use a streak. Blend with high transparency. Probably little or no overlay. Drop downwards with a constant velocity.

Fire Red/yellow particles Blend so that overlaid textures lighten. Single emitter Short lifetime. Higher velocity. Die quickly.

Explosion Red/yellow particles Single emitter. May all be emitted at same time. Some may be delayed. Emitted in all directions or in a wide fan. High velocity. See Steve Rabin, "Powerful Explosion Effects Using Billboard Particles", Game Programming Gems 5.

Particle maths Velocity v is distance d divided by time t.

Particle maths Constant acceleration is the rate of change in velocity: So after a “period of time” the new velocity will be the old velocity plus the amount of change over that time period:

Particle maths Need to look at velocity and acceleration Velocity is units per second, e.g. metres per second Acceleration is units per second per second, e.g. metres per second per second This is important when taking time into account. Using the frame time, apply the velocity but multiply the velocity by the frame time.

Particle maths If we want to calculate the effect of acceleration: calculate the new velocity using the frame time apply the velocity and again multiply the velocity by the frame time. Note the way that frame time is implicitly taken into account twice because it is units per second per second.

Programming: data structure We could use an array to store all of the particles The particles cycle around We can use a dynamic data structure such as the STL <vector> class. The <vector> class is like a dynamic array. Dynamic in the sense that you can change it’s size on-the-fly at run-time. It has nothing to do with the vectors of 3D graphics despite its name. Why not research this yourself. I may well add it to the summer work...

Euler integration Stateful version. Version you will use in the lab.

Euler integration Expressed as a position

Varying the direction Want all of the particles to have the same initial velocity. Nice to have the particles "fan out" from the emitter. Random element. Offset in the along the x-axis. Use the maths of right-angle triangles to calculate the components of the movement vector.

Varying the direction

Closed function There is an alternative way of thinking about the maths of particle systems. Stateless version. Used by Luna in his chapter on particle systems. Simple. Drawback is that it only uses the one acceleration: so you can't apply other physics to the particles in mid-movement.

Closed function Do not need to record the velocity frame by frame. Simply need the starting velocity, acceleration and the time passed since the particle was at that starting velocity.

Closed function

Maths Want to find the average velocity over a period of time. Acceleration is a constant. Therefore can do a simple average. Average velocity is displacement over time

Maths These are equivalent, so let's put them together.

Maths Can substitute one of the earlier equations into this (from slide 13)

Other variants exist May want sometimes to employ other variants. Also useful to combine different accelerations. See Latta and the maths books

References Jeff Lander, "The Ocean Spray in Your Face", http://www.double.co.nz/dust/col0798.pdf Lutz Latta, "Building a Million Particle System." In GDC 2004 Proceedings, http://www.2ld.de/gdc2004/ Lutz Latta, "Everything about Particle Effects", www.2ld.de/gdc2007 More articles at his site: http://www.2ld.de/ John van der Burg, "Building an Advanced Particle System". http://www.gamasutra.com/features/20000623/vanderburg_01.htm

References Van Verth, Essential Mathematics for Games and Interactive Applications: A Programmer's Guide. Wendy Stahler, Beginning Math and Physics for Game Programmers NVidia developers site ATI developers site