Computer Graphics  
Lecture 10 Particle Systems  
Edirlei Soares de Lima  
<edirlei.lima@universidadeeuropeia.pt>  
Particle Systems  
Particles are small images or meshes that are  
displayed and moved in great numbers by a  
particle system.  
Each particle represents a small portion of a  
fluid or amorphous entity and the effect of all  
the particles together creates the impression  
of the complete entity.  
Examples: clouds, fire, rain, smoke, etc.  
Particle Systems  
Each particle has a predetermined lifetime  
(
various changes (form, color, transparency,  
etc.).  
few seconds), during which it can undergo  
The system emits particles at random  
positions within a region of space according  
to an emission rate, which indicates roughly  
how many particles are emitted per second.  
The particle is displayed until its time is up, at  
which point it is removed from the system.  
Particle Systems  
The emission and lifetime affect the overall  
behavior of the system but the individual  
particles can also change over time.  
Each particle has a velocity vector that  
determines the direction and distance the  
particle moves.  
The velocity can be changed by forces and  
gravity applied by the system itself or when  
the particles are blown around by a wind  
zone on a Terrain.  
Particle Systems in Unity  
Create a new particle system:  
GameObject -> Effects -> Particle System  
(or Component -> Effects -> Particle  
System).  
Particle Systems in Unity  
Properties:  
Duration: length of time the system runs;  
Looping: if enabled, the system starts again at  
the end of its duration time (loop);  
Prewarm: if enabled, the system is initialized as  
if it had already completed a full cycle;  
Start Delay: delay in seconds before the system  
starts emitting once enabled;  
Start Lifetime: the initial lifetime for particles;  
Start Speed: the initial speed of each particle;  
Start Size: initial size of each particle;  
Particle Systems in Unity  
Properties:  
Start Rotation: initial rotation angle of each  
particle;  
Randomize Rotation Direction: causes some  
particles to spin in the opposite direction;  
Start Color: initial color of each particle;  
Gravity Modifier: scales the gravity value (set  
in the physics manager);  
Play on Awake: if enabled, the Particle  
System starts automatically when the object  
is created;  
Max Particles: maximum number of particles  
in the system at once;  
Particle Systems in Unity  
Properties (Emission):  
Affects the rate and timing of Particle System  
emissions.  
Rate over Time: number of particles emitted  
per unit of time;  
Rate over Distance: number of particles  
emitted per unit of distance moved;  
Bursts: allow burst of particles to be emitted  
at specified times;  
Particle Systems in Unity  
Properties (Shape):  
defines the shape (the volume or surface) from  
where particles are emitted.  
Shape: shape of the emission volume;  
Sphere, Hemisphere, Cone, Box, Donut, Mesh,  
MeshRenderer, Skinned MeshRenderer, Circle and  
Edge.  
Particle Systems in Unity  
Properties (Velocity Over Lifetime):  
Control the velocity of particles over their  
lifetime.  
X, Y e Z: Velocity in the X, Y and Z axes;  
Space: local or world space;  
Speed Modifier: applies a multiplier to the  
speed of particles, along their current direction  
of travel.  
Particle Systems in Unity  
Properties (Limit Velocity Over Lifetime):  
Controls how the speed of particles is reduced  
over their lifetime.  
Speed: sets the speed limit of the particles.  
(constant, curve, random);  
Dampen: fraction by which a particle’s speed is  
reduced when it exceeds the speed limit;  
Drag: applies linear drag to the particle velocities.  
Examples: air resistance, fireworks explosion.  
Particle Systems in Unity  
Properties (Inherit Velocity):  
Controls how the speed of particles reacts to  
movement of their parent object over time.  
Mode: how the emitter velocity is applied to  
particles (current ou initial);  
Multiplier: proportion of the emitter’s velocity  
that the particle should inherit;  
Examples: dust clouds from a car, smoke from a  
rocket, steam from a steam train’s chimney.  
Particle Systems in Unity  
Properties (Force Over Lifetime):  
Defines how particles are accelerated by forces  
(such as wind or attraction) over time.  
X, Y e Z: force applied to each particle in the X, Y  
and Z axes.;  
Space: local or world space;  
Randomize: random turbulence and erratic  
movement.  
Example: smoke accelerates slightly as it rises  
from a fire, carried up by the hot air around it.  
Particle Systems in Unity  
Properties (Color Over Lifetime):  
Specifies how a particle’s color and  
transparency changes over its lifetime.  
Color: color gradient of a particle over its  
lifetime;  
Examples: hot sparks, fireworks and smoke  
particles, magic spells, etc.  
Particle Systems in Unity  
Properties (Color By Speed):  
Color of a particle that change according to its  
speed in distance units per second.  
Color: color gradient of a particle defined over  
a speed range;  
Speed Range: low and high ends of the speed  
range to which the color gradient is mapped;  
Example: Burning particles tend to burn more  
brightly when they move quickly through the  
air, but then dim slightly as they slow down.  
Particle Systems in Unity  
Properties (Size over Lifetime):  
Specifies how the size of particles changes over  
their lifetime.  
Size: curve which defines how the particle’s  
size changes over its lifetime;  
Examples: smoke tends to disperse and occupy  
a larger volume over time. Flame particles of  
fireballs created by burning fuel, tend to expand  
after emission but then fade and shrink as the  
fuel is used up and the flame dissipates.  
Particle Systems in Unity  
Properties (Size by Speed):  
Specifies how particles change size according  
to their speed in distance units per second.  
Size: curve defining the particle’s size over a  
speed range;  
Speed Range: low and high ends of the speed  
range to which the size curve is mapped;  
Example: small pieces of debris accelerate more  
by an explosion than larger pieces.  
Particle Systems in Unity  
Properties (Rotation over Lifetime):  
Configure how particles rotate as they move  
over their lifetime.  
Angular Velocity: Rotation velocity in degrees  
per second;  
Example: Leaves falling.  
Particle Systems in Unity  
Properties (Rotation by Speed):  
Specifies how the rotation of the particle  
change according to their speed in distance  
units per second.  
Angular Velocity: rotation velocity in degrees  
per second;  
Speed Range: low and high ends of the speed  
range;  
Example: rocks from a landslide.  
Particle Systems in Unity  
Properties (External Forces):  
Modifies the effect of wind zones on particles  
emitted by the system.  
Multiplier: scale value applied to wind zone  
forces;  
Example: terrain wind zones (which affect the  
movement of trees on the landscape) can blow  
particles from the system.  
Particle Systems in Unity  
Properties (Noise):  
Adds turbulence to particle movement.  
Example: how embers from a fire move around,  
or how smoke swirls as it moves.  
Particle Systems in Unity  
Properties (Collision):  
Controls how particles collide with GameObjects  
in the Scene.  
Particle Systems in Unity  
Properties (Triggers):  
Allow particles to trigger a Callback whenever  
they interact with one or more Colliders in the  
Scene.  
Particle Systems in Unity  
Properties (Sub Emitters):  
Allows the set up of sub-emitters, which are  
additional particle emitters that are created at a  
particle’s position at certain stages of its  
lifetime.  
Example: a bullet might be accompanied by a  
puff of powder smoke as it leaves the gun barrel,  
and a fireball might explode on impact  
Particle Systems in Unity  
Properties (Texture Sheet Animation):  
Defines the particle texture as a grid of separate  
sub-images that can be played back as frames of  
animation.  
Example: flames may flicker and insects in a  
swarm might vibrate or shudder as if flapping  
their wings.  
Particle Systems in Unity  
Properties (Lights):  
Adds real-time lights to a percentage of the  
particles.  
Example: fire, fireworks or lightning.  
Particle Systems in Unity  
Properties (Trails):  
Adds trails to a percentage of the particles.  
Example: bullets, smoke, and magic visuals.  
Particle Systems in Unity  
Properties (Render):  
Determine how a particle’s image or Mesh is  
transformed, shaded and overdrawn by other  
particles.  
Render Mode: Billboard, Stretched Billboard,  
Horizontal Billboard, Vertical Billboard or Mesh  
Particle Systems in Unity  
Properties (Render):  
Material: material used to render the particles;  
Sort Mode: order in which particles are drawn  
(and therefore overlaid);  
Cast Shadows: if enabled, the particle system  
creates shadows when a shadow-casting Light  
shines on it;  
Receive Shadows: dictates whether shadows can  
be cast onto particles;  
Min Particle Size: the smallest particle size  
(
fraction of viewport size;  
regardless of other settings), expressed as a  
Other properties: http://docs.unity3d.com/Manual/PartSysRendererModule.html  
Exercise 1  
1
) Create new particle systems to simulate the following effects:  
a) Rain  
b) Fire Torch  
c) Volumetric Fog/Mist  
d) Explosion  
Unity Standard Particle Systems  
Unity comes with a very useful set of particle systems:  
Import Package -> Particle Systems  
Explosion: powerful effect which  
uses sub emitters to leave streaks of  
smoke arcing out from the central  
effect.  
Unity Standard Particle Systems  
FireComplex: uses a combination of  
many particles, including spritesheet  
animation, sparks and smoke.  
FireMobile: designed for fast  
performance on mobile, this effect is a  
minimal version of the FireComplex.  
Unity Standard Particle Systems  
Duststorm: demonstrates how to cover  
a wide area with a single particle effect.  
The emission zone is a large box that  
covers the area, and a single particle  
effect generates rolling clouds across  
the scene.  
Steam: a single-system effect, which  
generates rushing steam (vapor)  
emitting from the surface on which it is  
placed.  
Unity Standard Particle Systems  
Hose: water hose particle system that  
demonstrates a number of things,  
including particle stretching (in the  
direction of the water travel), flow rate  
controlled by a script, and particles  
interacting with physics objects using  
the particle collision callback feature.  
Fireworks: demonstrates how chaining  
together many sub-emitters to create a  
complex visual effect.  
Unity Standard Particle Systems  
Flare: shows the world collision feature  
available to particles, resulting in  
hundreds of bouncing sparks showering  
across the floor.  
Free Asset Store Particle Systems  
Cartoon Effects:  
https://assetstore.unity.com/packages/vfx/  
particles/cartoon-fx-free-109565  
Water Effects:  
https://assetstore.unity.com/packages/vfx/  
1
9248  
Free Asset Store Particle Systems  
Sky Effects:  
https://assetstore.unity.com/packages/vfx/  
particles/environment/sky-fx-pack-19242  
Fire and Explosions Effects:  
https://assetstore.unity.com/packages/vfx/  
particles/fire-explosions/inferno-vfx-50735  
Further Reading  
Lintrami, T., Goldstone, W. (2018). Unity 2017 Game  
Development Essentials (3rd ed.). Packt Publishing.  
Chapter 11: Unity Particle System;  
Web:  
https://docs.unity3d.com/Manual/PartSysWhatIs.html  
https://docs.unity3d.com/Manual/PartSysMainModule.html