HOME

TheInfoList



OR:

A particle system is a technique in game physics, motion graphics, and
computer graphics Computer graphics deals with generating images and art with the aid of computers. Computer graphics is a core technology in digital photography, film, video games, digital art, cell phone and computer displays, and many specialized applications. ...
that uses many minute sprites,
3D model In 3D computer graphics, 3D modeling is the process of developing a mathematical coordinate-based representation of a surface of an object (inanimate or living) in three dimensions via specialized software by manipulating edges, vertices, and ...
s, or other graphic objects to simulate certain kinds of "fuzzy" phenomena, which are otherwise very hard to reproduce with conventional rendering techniques – usually highly chaotic systems, natural phenomena, or processes caused by chemical reactions. Introduced in the 1982 film '' Star Trek II: The Wrath of Khan'' for the fictional "Genesis effect", other examples include replicating the phenomena of
fire Fire is the rapid oxidation of a fuel in the exothermic chemical process of combustion, releasing heat, light, and various reaction Product (chemistry), products. Flames, the most visible portion of the fire, are produced in the combustion re ...
,
explosion An explosion is a rapid expansion in volume of a given amount of matter associated with an extreme outward release of energy, usually with the generation of high temperatures and release of high-pressure gases. Explosions may also be generated ...
s,
smoke Smoke is an aerosol (a suspension of airborne particulates and gases) emitted when a material undergoes combustion or pyrolysis, together with the quantity of air that is entrained or otherwise mixed into the mass. It is commonly an unwante ...
, moving water (such as a waterfall), sparks, falling leaves, rock falls,
cloud In meteorology, a cloud is an aerosol consisting of a visible mass of miniature liquid droplets, frozen crystals, or other particles, suspended in the atmosphere of a planetary body or similar space. Water or various other chemicals may ...
s, fog,
snow Snow consists of individual ice crystals that grow while suspended in the atmosphere—usually within clouds—and then fall, accumulating on the ground where they undergo further changes. It consists of frozen crystalline water througho ...
,
dust Dust is made of particle size, fine particles of solid matter. On Earth, it generally consists of particles in the atmosphere that come from various sources such as soil lifted by wind (an aeolian processes, aeolian process), Types of volcan ...
,
meteor A meteor, known colloquially as a shooting star, is a glowing streak of a small body (usually meteoroid) going through Earth's atmosphere, after being heated to incandescence by collisions with air molecules in the upper atmosphere, creating a ...
tails, stars and galaxies, or abstract visual effects like glowing trails, magic spells, etc. – these use particles that fade out quickly and are then re-emitted from the effect's source. Another technique can be used for things that contain many strands – such as fur, hair, and grass – involving rendering an entire particle's lifetime at once, which can then be drawn and manipulated as a single strand of the material in question. Particle systems are defined as a group of points in space, guided by a collection of rules defining behavior and appearance. Particle systems model phenomena as a cloud of particles, using
stochastic processes In probability theory and related fields, a stochastic () or random process is a mathematical object usually defined as a family of random variables in a probability space, where the index of the family often has the interpretation of time. Stoc ...
to simplify the definition of
dynamical system In mathematics, a dynamical system is a system in which a Function (mathematics), function describes the time dependence of a Point (geometry), point in an ambient space, such as in a parametric curve. Examples include the mathematical models ...
and
fluid mechanics Fluid mechanics is the branch of physics concerned with the mechanics of fluids (liquids, gases, and plasma (physics), plasmas) and the forces on them. Originally applied to water (hydromechanics), it found applications in a wide range of discipl ...
with that are difficult to represent with affine transformations.


Typical implementation

Particle systems typically implement the following modules: * An emission stage, which provides a location and generates new particles. * A simulation stage, which update parameters and simulates how particles evolve. * A rendering stage, which specifies how to render a particle.


Emission stage

An emitter implements a spawning rate (how many particles are generated per unit of time), the particles' initial velocity vector (the direction they are emitted upon creation). When using a mesh object as an emitter, the initial velocity vector is often set to be normal to the individual face(s) of the object, making the particles appear to "spray" directly from each face but this is optional.


Simulation stage

During the simulation stage, the number of new particles that must be created is calculated based on spawning rates and the interval between updates, and each of them is spawned in a specific position in 3D space based on the emitter's position and the spawning area specified. Each of the particle's parameters (i.e. velocity, color, etc.) is initialized according to the emitter's parameters. At each update, all existing particles are checked to see if they have exceeded their lifetime, in which case they are removed from the simulation. Otherwise, the particles' position and other characteristics are advanced based on a physical simulation, which can be as simple as translating their current position, or as complicated as performing physically accurate trajectory calculations which take into account external forces (gravity, friction, wind, etc.). It is common to perform collision detection between particles and specified 3D objects in the scene to make the particles bounce off of or otherwise interact with obstacles in the environment. Collisions between particles are rarely used, as they are computationally expensive and not visually relevant for most simulations.


Rendering stage

After the update is complete, each particle is rendered, usually in the form of a textured billboarded
quad QUaD, an acronym for QUEST at DASI, was a ground-based cosmic microwave background (CMB) polarization experiment at the South Pole. QUEST (Q and U Extragalactic Sub-mm Telescope) was the original name attributed to the bolometer detector instrume ...
(i.e. a quadrilateral that is always facing the viewer). However, this is sometimes not necessary for games; a particle may be rendered as a single pixel in small resolution/limited processing power environments. Conversely, in motion graphics particles tend to be full but small-scale and easy-to-render 3D models, to ensure fidelity even at high resolution. Particles can be rendered as Metaballs in off-line rendering; isosurfaces computed from particle-metaballs make quite convincing liquids. Finally, 3D mesh objects can "stand in" for the particles — a snowstorm might consist of a single 3D snowflake mesh being duplicated and rotated to match the positions of thousands or millions of particles.


Particle system taxonomy

In 1983, Reeves defined only animated points, creating moving particulate simulations — sparks, rain, fire, etc. In these implementations, each frame of the animation contains each particle at a specific position in its life cycle, and each particle occupies a single point position in space. For effects such as fire or smoke that dissipate, each particle is given a fade out time or fixed lifetime; effects such as snowstorms or rain instead usually terminate the lifetime of the particle once it passes out of a particular
field of view The field of view (FOV) is the angle, angular extent of the observable world that is visual perception, seen at any given moment. In the case of optical instruments or sensors, it is a solid angle through which a detector is sensitive to elec ...
. In 1985, Reeves extended the concept to include rendering the entire life cycle of each particle simultaneously, the result transforms particles into static strands of material that show the overall trajectory, rather than points. These strands can be used to simulate hair, fur, grass, and similar materials. The strands can be controlled with the same velocity vectors, force fields, spawning rates, and deflection parameters that animated particles obey. In addition, the rendered thickness of the strands can be controlled and in some implementations may be varied along the length of the strand. Different combinations of parameters can impart stiffness, limpness, heaviness, bristliness, or any number of other properties. The strands may also use
texture mapping Texture mapping is a term used in computer graphics to describe how 2D images are projected onto 3D models. The most common variant is the UV unwrap, which can be described as an inverse paper cutout, where the surfaces of a 3D model are cut ap ...
to vary the strands' color, length, or other properties across the emitter surface. In 1987, Reynolds introduces notions of flocking, herding or schooling behaviors. The boids model extends particle simulation to include external state interactions including goal seeking, collision avoidance, flock centering, and limited perception. In 2003, Müller extended particle systems to
fluidics Fluidics, or fluidic logic, is the use of a fluid to perform analog signal, analog or Digital data, digital operations similar to those performed with electronics. The physical basis of fluidics is pneumatics and hydraulics, based on the theore ...
by simulating
viscosity Viscosity is a measure of a fluid's rate-dependent drag (physics), resistance to a change in shape or to movement of its neighboring portions relative to one another. For liquids, it corresponds to the informal concept of ''thickness''; for e ...
,
pressure Pressure (symbol: ''p'' or ''P'') is the force applied perpendicular to the surface of an object per unit area over which that force is distributed. Gauge pressure (also spelled ''gage'' pressure)The preferred spelling varies by country and eve ...
and
surface tension Surface tension is the tendency of liquid surfaces at rest to shrink into the minimum surface area possible. Surface tension (physics), tension is what allows objects with a higher density than water such as razor blades and insects (e.g. Ge ...
, and then rendered surfaces by interpolating the discrete positions with Smoothed Particle Hydrodynamics. {{multiple image , align = center , image1 = Particle Emitter.jpg , width1 = 220 , caption1 = A cube emitting 5000 animated particles, obeying a "gravitational" force in the negative Y direction , image2 = Strand Emitter.jpg , width2 = 220 , caption2 = The same cube emitter rendered using static particles, or strands


Developer-friendly particle system tools

Particle systems code that can be included in game engines, digital content creation systems, and effects applications can be written from scratch or downloaded. Havok provides multiple particle system APIs. Their Havok FX API focuses especially on particle system effects. Ageia - now a subsidiary of
Nvidia Nvidia Corporation ( ) is an American multinational corporation and technology company headquartered in Santa Clara, California, and incorporated in Delaware. Founded in 1993 by Jensen Huang (president and CEO), Chris Malachowsky, and Curti ...
- provides a particle system and other game physics API that is used in many games, including Unreal Engine 3 games. Both GameMaker Studio and Unity provide a two-dimensional particle system often used by indie, hobbyist, or student game developers, though it cannot be imported into other engines. Many other solutions also exist, and particle systems are frequently written from scratch if non-standard effects or behaviors are desired.


See also

*
N-body simulation In physics and astronomy, an ''N''-body simulation is a simulation of a dynamical system of particles, usually under the influence of physical forces, such as gravity (see n-body problem, ''n''-body problem for other applications). ''N''-body ...
* Particle method


References


External links


The ocean spray in your face.
Jeff Lander (Graphic Content, July 1998)
Building an Advanced Particle System
— John van der Burg ( Gamasutra, June 2000)
Particle Engine Using Triangle Strips
— Jeff Molofee ( NeHe)
Designing an Extensible Particle System using C++ and Templates
— Kent Lai (GameDev.net)
repository of public 3D particle scripts in LSL Second Life format
- Ferd Frederix
GPU-Particlesystems using WebGL
- Particle effects directly in the browser using WebGL for calculations. 3D computer graphics Computer physics engines Virtual reality