The Glest Wiki
(Added luminance image.)
(Expanded)
Line 6: Line 6:
 
-Energy var
 
-Energy var
 
-Energy max
 
-Energy max
-Relative
 
-Relative direction
 
-Fixed
 
 
-->
 
-->
 
[[File:Particle_sys_fire.jpg|thumb|Example of particles used to create a flame effect]]
 
[[File:Particle_sys_fire.jpg|thumb|Example of particles used to create a flame effect]]
Line 46: Line 43:
   
 
===Trajectory types===
 
===Trajectory types===
For particle projectile systems, the type of the trajectory, either linear (the particle moves in a straight line), parabolic (the particle moves in an arc), or spiral (the particle spins around in an arc). These are not present in other types of particle systems.
+
For particle projectile systems, the type of the trajectory, either linear (the particle moves in a straight line), parabolic (the particle moves in an arc), spiral (the particle spins around in an arc), or random ([[GAE]] only, arcs in random paths). These are not present in other types of particle systems.
   
 
===Vertical and horizontal spread===
 
===Vertical and horizontal spread===
Line 53: Line 50:
 
===Teamcolor===
 
===Teamcolor===
 
In [[GAE]] and [[MegaGlest]], particles are able to contain teamcolor, and like the size and color, it can transition into or away from this.
 
In [[GAE]] and [[MegaGlest]], particles are able to contain teamcolor, and like the size and color, it can transition into or away from this.
  +
  +
===Static===
  +
Static particles do not move, but rather cycle through their regular and no-energy colors, thus allowing them to glow (the color and color-no-energy values can be set the same to prevent this glowing). This is mainly used for the glow, as it simulates a light.
  +
 
===Relative and relative direction===
  +
If the particle rotates with the unit, the relative option allows this. This is handy if, for example, having smoke come out of a chimney, as it ensures the building can be rotated while rotating the particle effect with it. Relative direction ensures that even if the particles move relatively with the object, they still go in the same direction, such as with smoke.
  +
  +
===Blend modes (GAE only)===
  +
[[GAE]] supports choosing the OpenGL blend mode of the particles, allowing you to set the source and destination blending from these possible options:
  +
  +
*zero
  +
*one
  +
*src_color
  +
*one_minus_src_color
  +
*dst_color
  +
*one_minus_dst_color
  +
*src_alpha
  +
*one_minus_src_alpha
  +
*dst_alpha
  +
*one_minus_dst_alpha
  +
*constant_color
  +
*one_minus_constant_color
  +
*constant_alpha
  +
*one_minus_constant_alpha
  +
*src_alpha_saturate
  +
  +
The destination cannot be set to 'src_alpha_saturate'. If none is selected, the default is equal to the source being 'src_alpha' and the destination being 'one'.
  +
  +
===Blend equation (GAE only)===
  +
[[GAE]] supports choosing the blending equation from these possible options:
  +
  +
*func_add
  +
*func_subtract
  +
*func_reverse_subtract
  +
*min
  +
*max
  +
  +
The default is 'func_add'.
   
 
==Particle gallery==
 
==Particle gallery==

Revision as of 05:29, 22 April 2011

Particle sys fire

Example of particles used to create a flame effect

Particles are a technique used to create fuzzy phenomena, which are otherwise very difficult to create with standard modelling. They could be used to create flames, magic attacks, smoke, explosions, water, dust, trails, etc. In Glest, they are most commonly used for attacks, splashes, and unit emitting. For example, a magical spell, a flaming arrow, the explosion of a projectile, a burning building, and smoke coming from a chimney are all usage of particles in Glest.

Types

Particles in Glest are defined from XML files. There are three systems of particles:

  • Particle projectile systems (such as a flaming arrow)
  • Particle Splash systems (such as an explosion)
  • Unit particle systems (such as smoke rising from a chimney) - MegaGlest and GAE only

Elements of particles

Luminance

Comparison of luminance on and off, using the texture at the top-right corner.

Textures

Particles can use textures to shape how the particles should look. If luminance is turned on, the image file used as a texture will simply work to define the intensity of the colors. If luminance is turned off, the colors in the image file will be used in the particle.

Models

Models can be used in particle projectiles and splashes, but contractual to the expected, it is just one model for the attack, rather than replacing particles with models. Thus, you can set the model to be an arrow and that will be the body of the projectile. For splashes, the model appears the moment the attack starts, not when the splash begins, so it cannot be used, say, for an explosion model. Animations in the models will be ignored and the first frame will be used.

Primitive

Particles have two methods of creation: either quad (renders a set of four particles in a dot style) or line (creates solid lines). Quad is the most commonly used, as it creates the fuzzy style of particles that would be used for flames, explosions, smoke, etc, while lines are generally only used for projectiles such as an arrow. Note that you cannot have more than one particle effect linked to a projectile or splash (though you can for unit particle effects) yet, so it is not possible to mix particles (such as a line and flaming particles for a flaming arrow).

Mode

Particles have two modes of rendering, either normal which uses colors, or as black which allows the usage of black particles.

Color

If luminance is off, the colors of the texture will be used to color the particles. If luminance is on, the colors defined in the XML are used, though the intensity and shape will be defined by the texture. There are two colors values, the first which is the color at the start of the particle's life, and the second which defines the color when the particle is dead. Thus, the particles can transition in color.

Size

While the shape - and thus some degree of the size - is defined by the texture, the size is also affected by the size parameter passed into the XML, which will define the size in game units. Like the color, there are two size values that define the starting and ending sizes. As a result, the particles can seem to shrink or grow over their life.

Radius

Whereas size affects the particle's individual size, radius affects the area filled with particles. Only used for unit particle systems.

Gravity

Glest has a simple gravity system which can also cause particles to sink downwards - or float upwards - over their life.

Trajectory types

For particle projectile systems, the type of the trajectory, either linear (the particle moves in a straight line), parabolic (the particle moves in an arc), spiral (the particle spins around in an arc), or random (GAE only, arcs in random paths). These are not present in other types of particle systems.

Vertical and horizontal spread

See Particles/Spread

Teamcolor

In GAE and MegaGlest, particles are able to contain teamcolor, and like the size and color, it can transition into or away from this.

Static

Static particles do not move, but rather cycle through their regular and no-energy colors, thus allowing them to glow (the color and color-no-energy values can be set the same to prevent this glowing). This is mainly used for the glow, as it simulates a light.

Relative and relative direction

If the particle rotates with the unit, the relative option allows this. This is handy if, for example, having smoke come out of a chimney, as it ensures the building can be rotated while rotating the particle effect with it. Relative direction ensures that even if the particles move relatively with the object, they still go in the same direction, such as with smoke.

Blend modes (GAE only)

GAE supports choosing the OpenGL blend mode of the particles, allowing you to set the source and destination blending from these possible options:

  • zero
  • one
  • src_color
  • one_minus_src_color
  • dst_color
  • one_minus_dst_color
  • src_alpha
  • one_minus_src_alpha
  • dst_alpha
  • one_minus_dst_alpha
  • constant_color
  • one_minus_constant_color
  • constant_alpha
  • one_minus_constant_alpha
  • src_alpha_saturate

The destination cannot be set to 'src_alpha_saturate'. If none is selected, the default is equal to the source being 'src_alpha' and the destination being 'one'.

Blend equation (GAE only)

GAE supports choosing the blending equation from these possible options:

  • func_add
  • func_subtract
  • func_reverse_subtract
  • min
  • max

The default is 'func_add'.

Particle gallery

See Particles/Gallery

See also