commit
3123f35681
@ -0,0 +1,73 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>Particle Manual: Introduction</title>
|
||||
<link rel = "stylesheet" type = "text/css" href = "../styles/design.css">
|
||||
</head>
|
||||
<body>
|
||||
<h1 class = "MsoTitle">Particle Manual</h1>
|
||||
<hr>
|
||||
|
||||
<h1><a name = "intro">1 Introduction</a></h1>
|
||||
|
||||
The particle system defined in the engine encompasses more than just flying
|
||||
sprites.
|
||||
<br>
|
||||
The particle system is a pipeline through which models, beams and
|
||||
trail effects can be defined and utilized by the game-logic without having to
|
||||
know how to program a single line of code.
|
||||
|
||||
<p>In this document we'll go over the conventions and commands you need to look
|
||||
at if you want to create particle effects.
|
||||
|
||||
<h2><a name = "what">1.1 What is a particle config?</a></h2>
|
||||
|
||||
Particle configs short text scripts that define the properties of a particle
|
||||
effect as it appears and interacts in a game world.
|
||||
<br>
|
||||
For example, it defines which textures and shapes are used and if they emit
|
||||
sound, light or collide with the geometry around them.
|
||||
|
||||
<p>Particle configs are located in the particles/ directory, using the '.cfg'
|
||||
file extension.
|
||||
|
||||
<p>Contained within a particle config we can define multiple effects of similar
|
||||
nature. Let's look at the particle config: 'particles/volume.cfg' which as of
|
||||
this writing only contains one entry:
|
||||
|
||||
<p><pre class = "type">
|
||||
r_part dustmote
|
||||
{
|
||||
texture ball
|
||||
type normal
|
||||
count 1
|
||||
blend add
|
||||
rgbf 0 0 0
|
||||
alpha 0
|
||||
|
||||
rampmode lerp
|
||||
ramp 0 0 0 0 0.5
|
||||
ramp 0 0 0 0 0.5
|
||||
ramp 0 0 0 0 0.5
|
||||
ramp 255 255 190 0.5 0.5
|
||||
ramp 0 0 0 0 0.5
|
||||
|
||||
die 10 5
|
||||
gravity 1
|
||||
scalefactor 0
|
||||
}
|
||||
</pre>
|
||||
|
||||
<p>This is a more complex material, dealing with pre-programmed color and alpha
|
||||
changes over time to create the effect of dust traveling inside a volume.
|
||||
|
||||
<h2><a name = "conventions">1.2 Particle Name & File Conventions</a></h2>
|
||||
The first line tells the engine that we're defining a new particle effect with
|
||||
the name 'dustmote'.
|
||||
<br>
|
||||
As this effect is defined in the file 'volume.cfg', the
|
||||
name by which this specific effect will be accessible is 'volume.dustmote'.
|
||||
|
||||
<p align = "center">Back | <a href = "../index.html">Home</a> | <a href = "../ch02/pg2_1.htm">Next</a>
|
||||
|
||||
</body>
|
||||
</html>
|
@ -0,0 +1,162 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>Particle Manual: General Keywords</title>
|
||||
<link rel = "stylesheet" type = "text/css" href = "../styles/design.css">
|
||||
</head>
|
||||
<body>
|
||||
<h1 class = "MsoTitle">Particle Manual</h1>
|
||||
<hr>
|
||||
<h1>2 General Keywords</h1>
|
||||
|
||||
<h2><a name = "type">2.1 type <mode></a></h2>
|
||||
<p><pre class = "type">
|
||||
How the particles look.
|
||||
|
||||
Mode may be:
|
||||
beam: valid only for trails. Particles form a single textured beam acting as nodes along it.
|
||||
spark: particles are lines, their length depending upon their speed.
|
||||
sparkfan: particles are non-planar triangle fans, their length depending upon their speed.
|
||||
texturedspark: textured particles are aligned along their direction of movement, their length depending upon their speed, width equal to their scale.
|
||||
cdecal/decal: particles are spawned only upon bsp geometry. They are clipped by it.
|
||||
udecal: unclipped decal. exact semantics are subject to change.
|
||||
normal/*default*: Particles are regular, rotating, 2d images.
|
||||
</pre>
|
||||
|
||||
<h2><a name = "count">2.2 count <min> <max></a></h2>
|
||||
<p><pre class = "type">
|
||||
Point/box effects only (not trails or beams)
|
||||
Specifies how many particles are spawned per effect (some classic effects contain an extra scaler which is multiplied by the resulting value)
|
||||
</pre>
|
||||
|
||||
<h2><a name = "assoc">2.3 assoc <effectname></a></h2>
|
||||
<p><pre class = "type">
|
||||
Specifies another effect to spawn at the same time that this effect is spawned.
|
||||
Thus allowing two sets of particles from one effect.
|
||||
</pre>
|
||||
|
||||
<h2><a name = "die">2.4 die <maximum age> <minimum age></a></h2>
|
||||
<p><pre class = "type">
|
||||
Specifies the maximum age of the particle, in seconds.
|
||||
</pre>
|
||||
|
||||
<h2><a name = "spawnmode">2.5 spawnmode <mode> [arg1] [arg2]</a></h2>
|
||||
<p><pre class = "type">
|
||||
This affects how particles are positioned when they first spawn, and their initial velocities.
|
||||
|
||||
For point effects, mode may be one of:
|
||||
box: simple axially aligned box of particles.
|
||||
circle: particles spawn within a ball with uniform distance from the center. none will appear in the middle.
|
||||
arg1: percentage of the circle to cover. a value of 5 will go around the circle 5 separate times. this can be used for weird beam effects.
|
||||
areaspread: the radius of the ball
|
||||
areaspreadvert: the height of the ball. if 0, will be a flat circle
|
||||
ball: particles spawn randomly within a ball.
|
||||
areaspread: the radius of the ball
|
||||
areaspreadvert: the height of the ball. if 0, will be a flat circle.
|
||||
telebox: matches quake's telebox
|
||||
lavasplash: like chthon's lava splash
|
||||
uniformcircle: particles are spawned in a circle with uniform distance between and from the center. z=0.
|
||||
syncfield: particles spawn at predictable locations based upon time within a rough sphere. Only useful for effects that are regenerated+replaced every frame.
|
||||
distball:
|
||||
*default*: regular box. particles are spawned inside an axially aligned box.
|
||||
|
||||
For trail effects, mode may be one of:
|
||||
spiral: particles are given velocities perpendicular to the direction based on the distance moved.
|
||||
tracer: particles spawn with alternating horizontal velocities (a wake effect).
|
||||
*default*: particles spawn as a regular trail.
|
||||
</pre>
|
||||
|
||||
<h2><a name = "clippeddecal">2.6 clippeddecal <mask> [match]</a></h2>
|
||||
<p><pre class = "type">
|
||||
Implies 'type decal'.
|
||||
The two extra args allow you to spawn these decals ONLY on surfaces with matching surfaceflags.
|
||||
Separation of mask+match allows you to create many descrete surface types instead of being limited to 32 bits/types.
|
||||
</pre>
|
||||
|
||||
<h2><a name = "spawntime">2.7 spawntime <value></a></h2>
|
||||
<h2><a name = "spawnchance">2.8 spawnchance <value></a></h2>
|
||||
|
||||
|
||||
<h2><a name = "emit">2.9 emit <effectname></a></h2>
|
||||
<p><pre class = "type">
|
||||
Specifies the effect to periodically emit.
|
||||
</pre>
|
||||
|
||||
<h2><a name = "emitinterval">2.10 emitinterval <min></a></h2>
|
||||
<p><pre class = "type">
|
||||
Particles will not emit additional effects for this duration after emitting one.
|
||||
</pre>
|
||||
|
||||
<h2><a name = "emitintervalrand">2.11 emitintervalrand <extra></a></h2>
|
||||
<p><pre class = "type">
|
||||
FIXME: fold into emitinterval
|
||||
</pre>
|
||||
|
||||
<h2><a name = "emitstart">2.12 emitstart <seconds></a></h2>
|
||||
<p><pre class = "type">
|
||||
Prevents the particle from emitting anything for this duration when it first spawns.
|
||||
</pre>
|
||||
|
||||
<h2><a name = "perframe">2.13 perframe</a></h2>
|
||||
<p><pre class = "type">
|
||||
Apply inverse frametime to count (causes emits to be per frame).
|
||||
</pre>
|
||||
|
||||
<h2><a name = "averageout">2.14 averageout</a></h2>
|
||||
<p><pre class = "type">
|
||||
Average trail points from start to end, useful with t_lightning, etc
|
||||
</pre>
|
||||
|
||||
<h2><a name = "nostate">2.15 nostate</a></h2>
|
||||
<p><pre class = "type">
|
||||
Causes the particle system to ignore all state information.
|
||||
</pre>
|
||||
|
||||
<h2><a name = "sound">2.16 sound <name> [options]</a></h2>
|
||||
<p><pre class = "type">
|
||||
Plays a sound when the effect is spawned.
|
||||
Only ONE sound will be used, picked randomly from the included sounds according to their weights.
|
||||
|
||||
Options are:
|
||||
vol=
|
||||
attn=
|
||||
pitch=
|
||||
delay=
|
||||
weight=
|
||||
</pre>
|
||||
|
||||
<h2><a name = "model">2.17 model <name> [options]</a></h2>
|
||||
<p><pre class = "type">
|
||||
Spawns sprites or models that fly away with random angles and run through
|
||||
some frame sequence. handy for simple gib effects.
|
||||
|
||||
Options are:
|
||||
frame=
|
||||
framestart=
|
||||
framecount=
|
||||
frameend=
|
||||
frames=
|
||||
framerate=
|
||||
skin=
|
||||
alpha=
|
||||
scalemin=
|
||||
scalemax=
|
||||
trail=
|
||||
orient
|
||||
additive
|
||||
transparent
|
||||
fullbright
|
||||
shadow
|
||||
noshadow
|
||||
</pre>
|
||||
|
||||
<h2><a name = "viewspace">2.18 viewspace [frac]</a></h2>
|
||||
<p><pre class = "type">
|
||||
Specifies that this particle type should move relative to the camera.
|
||||
Should not normally be used in combination with clipping/bouncing.
|
||||
Not compatible with most splitscreen games.
|
||||
</pre>
|
||||
|
||||
<p align = "center"><a href = "../ch01/pg1_1.htm">Back</a> | <a href = "../index.html">Home</a> | <a href = "../ch03/pg3_1.htm">Next</a>
|
||||
|
||||
</body>
|
||||
</html>
|
@ -0,0 +1,100 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>Particle Manual: Texture Keywords</title>
|
||||
<link rel = "stylesheet" type = "text/css" href = "../styles/design.css">
|
||||
</head>
|
||||
<body>
|
||||
<h1 class = "MsoTitle">Particle Manual</h1>
|
||||
<hr>
|
||||
<h1>3 Texture Keywords</h1>
|
||||
|
||||
<h2><a name = "texture">3.1 texture <texturename></a></h2>
|
||||
<p><pre class = "type">
|
||||
Specifies to use an image named texturename for this effect.
|
||||
</pre>
|
||||
|
||||
<h2><a name = "material">3.2 material <materialname></a></h2>
|
||||
<p><pre class = "type">
|
||||
Specifies to use a named material.
|
||||
This overrides blendmodes, as no new material will need to be created.
|
||||
</pre>
|
||||
|
||||
<h2><a name = "tcoords">3.3 tcoords <s1> <t1> <s2> <t2> [tscale] [rsmax] [rsstep]</a></h2>
|
||||
<p><pre class = "type">
|
||||
Specifies to use a subsection of the image.
|
||||
|
||||
If 'tscale' is set, all units are divided by this. it is the virtual size of
|
||||
your texture.
|
||||
So a value of 1 means that your texture coords must be between 0 and 1.
|
||||
But if it properly matches your texture's size, the coords are in pixels.
|
||||
|
||||
If 'rsmax' is present, each particle will use a random image.
|
||||
These images must be on a single row in your particle font.
|
||||
|
||||
'rsstep' specifies the stride (gap from one to the next) in your particle
|
||||
font, and is only needed if 'rsmax' is present and greater than 1.
|
||||
</pre>
|
||||
|
||||
<h2><a name = "atlas">3.4 atlas count_in_each_axis firstidx [last]</a></h2>
|
||||
<p><pre class = "type">
|
||||
An alternative to tcoords.
|
||||
The specified texture (or material) is to be considered as a grid of sprites (x*x, where x is specified in that first arg).
|
||||
'firstidx' specifies the first image to use (horizontal THEN vertical).
|
||||
'last' specifies the last image to use (inclusive). The engine will pick one at random. They should not span multiple rows.
|
||||
</pre>
|
||||
|
||||
<h2><a name = "rotation">3.5 rotation <startmin> <startmax> <speedmin> <speedmax></a></h2>
|
||||
<p><pre class = "type">
|
||||
The particle will start with a rotation rotated between 'startmin' and 'startmax'.
|
||||
It will then rotate with some per-particle value randomly picked between the 'speedmin' + 'speedmax' values.
|
||||
Should NOT be used on beam particles.
|
||||
</pre>
|
||||
|
||||
<h2><a name = "beamtexstep">3.6 beamtexstep <value></a></h2>
|
||||
<p><pre class = "type">
|
||||
Only valid if the effect is a beam.
|
||||
Specifies the number of quake units per beam texture repitition.
|
||||
</pre>
|
||||
|
||||
<h2><a name = "beamtexspeed">3.7 beamtexspeed <value></a></h2>
|
||||
<p><pre class = "type">
|
||||
Only valid if the effect is type 'beam'.
|
||||
Controls how fast the texture scrolls on the beam.
|
||||
</pre>
|
||||
|
||||
<h2><a name = "scale">3.8 scale <min> [max]</a></h2>
|
||||
<p><pre class = "type">
|
||||
Particles will start with a diameter of this many quake units.
|
||||
Actual scale will be randomly chosen between 'min' and 'max' ('max' defaults to equal if 'min' is missing)
|
||||
</pre>
|
||||
|
||||
<h2><a name = "scalefactor">3.9 scalefactor <frac></a></h2>
|
||||
<p><pre class = "type">
|
||||
Controls how the particle scales with distance.
|
||||
1 makes the particle scale the same as anything else
|
||||
0 makes the particle not change size no matter how far it is
|
||||
</pre>
|
||||
|
||||
<h2><a name = "stretchfactor">3.10 stretchfactor <factor></a></h2>
|
||||
<p><pre class = "type">
|
||||
Controls how spark particles stretch according to their velocity.
|
||||
Negative values give fixed length sparks.
|
||||
</pre>
|
||||
|
||||
<h2><a name = "scaledelta">3.11 scaledelta <value></a></h2>
|
||||
<p><pre class = "type">
|
||||
Controls how the particle scales over time
|
||||
Specifies the change in the particle scale per second.
|
||||
</pre>
|
||||
|
||||
<h2><a name = "step">3.12 step <min> <max></a></h2>
|
||||
<p><pre class = "type">
|
||||
Trails/beams only
|
||||
Specifies the distance between each particle in the trail (or beam).
|
||||
</pre>
|
||||
|
||||
|
||||
<p align = "center"><a href = "../ch02/pg2_1.htm">Back</a> | <a href = "../index.html">Home</a> | <a href = "../ch04/pg4_1.htm">Next</a>
|
||||
|
||||
</body>
|
||||
</html>
|
@ -0,0 +1,94 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>Particle Manual: Color Keywords</title>
|
||||
<link rel = "stylesheet" type = "text/css" href = "../styles/design.css">
|
||||
</head>
|
||||
<body>
|
||||
<h1 class = "MsoTitle">Particle Manual</h1>
|
||||
<hr>
|
||||
<h1>4 Color Keywords</h1>
|
||||
|
||||
<h2><a name = "alpha">4.1 alpha <value></a></h2>
|
||||
<p><pre class = "type">
|
||||
Specifies the initial alpha value of the effect
|
||||
</pre>
|
||||
|
||||
<h2><a name = "alpharand">4.2 alpharand <value></a></h2>
|
||||
<p><pre class = "type">
|
||||
Specifies a randomized additonal value added to each particle's initial alpha.
|
||||
</pre>
|
||||
|
||||
<h2><a name = "alphadelta">4.3 alphadelta <value></a></h2>
|
||||
<p><pre class = "type">
|
||||
Specifies how much the alpha value of the effect changes per second (subtracted)
|
||||
</pre>
|
||||
|
||||
<h2><a name = "rgbdeltatime">4.4 rgbdeltatime <value></a></h2>
|
||||
<p><pre class = "type">
|
||||
Specifies for how long the particle may change colours for.
|
||||
After this many seconds, the particle may no longer change colours (delta becomes 0).
|
||||
</pre>
|
||||
|
||||
<h2><a name = "rampmode">4.5 rampmode <mode></a></h2>
|
||||
<p><pre class = "type">
|
||||
Mode may be one of:
|
||||
none: uses rgb+rand+sync+delta+scale+scaledelta values.
|
||||
nearest(or absolute): the ramp overrides all colour+scale values. The effect moves from one absolute ramp index to the next.
|
||||
lerp: smoothly interpolates from one value to the next.
|
||||
delta: uses rgb+rand+sync+scale, but not delta values. All delta values come from the colour ramp instead.
|
||||
|
||||
If not none, the ramp index used is based upon the particle's age, its lifetime, and how many ramp elements there are.
|
||||
</pre>
|
||||
|
||||
<h2><a name = "rampindexlist">4.6 rampindexlist <idx1> [<idx2> [idx3 ...]]</a></h2>
|
||||
<p><pre class = "type">
|
||||
Scale used is the currently set scale value.
|
||||
Specifies a set of palette index values to use for the effect as part of the effect's colour ramp.
|
||||
</pre>
|
||||
|
||||
<h2><a name = "rampindex">4.7 rampindex <idx> <scale></a></h2>
|
||||
<p><pre class = "type">
|
||||
Specifies an individual palette index value and particle scale to use for the effect as part of the effect's colour ramp
|
||||
</pre>
|
||||
|
||||
<h2><a name = "ramp">4.8 ramp <red> <green> <blue> [alpha] [scale]</a></h2>
|
||||
<p><pre class = "type">
|
||||
Specifies a ramp index in rgb terms, regardless of palette.
|
||||
</pre>
|
||||
|
||||
<h2><a name = "blend">4.9 blend <mode></a></h2>
|
||||
<p><pre class = "type">
|
||||
If the texture used is actually a material then that material's blend mode will take precidence.
|
||||
As a general rule you should try to use only the premul blend modes (as well as atlasing).
|
||||
|
||||
Mode may be one of:
|
||||
adda:
|
||||
addc:
|
||||
subtract:
|
||||
invmoda:
|
||||
invmodc:
|
||||
blendcolour:
|
||||
blendalpha:
|
||||
premul_subtract:
|
||||
premul_add:
|
||||
premul_blend:
|
||||
rtsmoke:
|
||||
</pre>
|
||||
|
||||
<h2><a name = "stains">4.10 stains <value></a></h2>
|
||||
<p><pre class = "type">
|
||||
How much the effect discolours the wall upon impact.
|
||||
The stained colour is based upon the colour of the particle upon impact.
|
||||
</pre>
|
||||
|
||||
<h2><a name = "spawnstain">4.11 spawnstain <radius> <r> <g> <b></a></h2>
|
||||
<p><pre class = "type">
|
||||
Controls whether a stain will be created at the same time as any particles
|
||||
(instead of depending upon impacts).
|
||||
</pre>
|
||||
|
||||
|
||||
<p align = "center"><a href = "../ch03/pg3_1.htm">Back</a> | <a href = "../index.html">Home</a> | <a href = "../ch05/pg5_1.htm">Next</a>
|
||||
|
||||
</body>
|
||||
</html>
|
@ -0,0 +1,132 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>Particle Manual: Physics Keywords</title>
|
||||
<link rel = "stylesheet" type = "text/css" href = "../styles/design.css">
|
||||
</head>
|
||||
<body>
|
||||
<h1 class = "MsoTitle">Particle Manual</h1>
|
||||
<hr>
|
||||
<h1>5 Physics Keywords</h1>
|
||||
|
||||
<h2><a name = "randomvel">5.1 randomvel <horiz> [vert]</a></h2>
|
||||
<p><pre class = "type">
|
||||
Controls how fast the particle moves when it spawns (according to its spawn pattern).
|
||||
This works regardless of any requested velocities.
|
||||
|
||||
If 'vert' is not specified, 'horiz' is used instead.
|
||||
</pre>
|
||||
|
||||
<h2><a name = "veladd">5.2 veladd <value></a></h2>
|
||||
<p><pre class = "type">
|
||||
Controls how much of the effect's spawn velocity is used, can be greater than 1, or negative.
|
||||
</pre>
|
||||
|
||||
<h2><a name = "orgadd">5.3 orgadd <value></a></h2>
|
||||
<p><pre class = "type">
|
||||
Biases how much to add to the starting origin relative to the requested velocity.
|
||||
</pre>
|
||||
|
||||
<h2><a name = "orgbias">5.4 orgbias <x> <y> <z></a></h2>
|
||||
<p><pre class = "type">
|
||||
Biases the particle's origin by this absolute worldspace vector, regardless of spawn mode.
|
||||
</pre>
|
||||
|
||||
<h2><a name = "velbias">5.5 velbias</a></h2>
|
||||
<p><pre class = "type">
|
||||
Biases the particle's velocity by this absolute worldspace vector, regardless of spawn mode.
|
||||
</pre>
|
||||
|
||||
<h2><a name = "orgwrand">5.6 orgwrand</a></h2>
|
||||
<p><pre class = "type">
|
||||
Randomised offset for the particle's origin, in worldspace.
|
||||
</pre>
|
||||
|
||||
<h2><a name = "velwrand">5.7 velwrand</a></h2>
|
||||
<p><pre class = "type">
|
||||
Randomised offset for the particle's origin, in worldspace.
|
||||
</pre>
|
||||
|
||||
<h2><a name = "friction">5.8 friction <<xyz>|<xy> <z> | <x> <y> <z>></a></h2>
|
||||
<p><pre class = "type">
|
||||
Proportion of the particle's speed that should be lost from friction. Negative values are accepted.
|
||||
</pre>
|
||||
|
||||
<h2><a name = "gravity">5.9 gravity <value></a></h2>
|
||||
<p><pre class = "type">
|
||||
Amount that the particle's velocity changes per second, in units.
|
||||
</pre>
|
||||
|
||||
<h2><a name = "clipbounce">5.10 clipbounce <value></a></h2>
|
||||
<p><pre class = "type">
|
||||
how much of the particle's velocity to use if the particle is clipped. See cliptype.
|
||||
Defaults to 0.8
|
||||
</pre>
|
||||
|
||||
<h2><a name = "cliptype">5.11 cliptype <effectname></a></h2>
|
||||
<p><pre class = "type">
|
||||
Specifies which new effect to spawn when the particle hits something.
|
||||
The origin and velocity of the particle are used to spawn the new effect.
|
||||
The clipbounce value is used as a scaler for the reflected velocity.
|
||||
If the effect named is the effect itself, the particle will merely bounce, instead of spawning a new effect.
|
||||
|
||||
FIXME: make default to bounce if clipbounce is set without cliptype.
|
||||
</pre>
|
||||
|
||||
<h2><a name = "clipcount">5.12 clipcount <count></a></h2>
|
||||
<p><pre class = "type">
|
||||
The scaler to use for the number of particles to spawn upon a clip event.
|
||||
Only valid in conjunction with 'cliptype'.
|
||||
</pre>
|
||||
|
||||
<h2><a name = "notunderwater">5.13 notunderwater [content names]</a></h2>
|
||||
<p><pre class = "type">
|
||||
Specifies that this particle should ONLY be spawned when out of water.
|
||||
The particle will not spawn under water (this does not affect assoc chains).
|
||||
|
||||
Content names are a space-separated list of: water slime lava sky solid fluid.
|
||||
Default is 'fluid' if not specified.
|
||||
|
||||
The r_part_contentswitch cvar must be enabled for this to function correctly.
|
||||
</pre>
|
||||
|
||||
<h2><a name = "underwater">5.14 underwater [content names]</a></h2>
|
||||
<p><pre class = "type">
|
||||
Specifies that this particle should ONLY be spawned when underwater.
|
||||
The particle will not spawn if the spawn position is non-water (this does not affect assoc chains).
|
||||
</pre>
|
||||
|
||||
<h2><a name = "perframe">5.15 perframe</a></h2>
|
||||
<p><pre class = "type">
|
||||
Apply inverse frametime to count (causes emits to be per frame).
|
||||
</pre>
|
||||
|
||||
<h2><a name = "averageout">5.16 averageout</a></h2>
|
||||
<p><pre class = "type">
|
||||
Average trail points from start to end, useful with t_lightning, etc
|
||||
</pre>
|
||||
|
||||
<h2><a name = "nospreadfirst">5.17 nospreadfirst</a></h2>
|
||||
<p><pre class = "type">
|
||||
Don't randomize position/velocity for first generated particle.
|
||||
</pre>
|
||||
|
||||
<h2><a name = "nospreadlast">5.18 nospreadlast</a></h2>
|
||||
<p><pre class = "type">
|
||||
Don't randomize position/velocity for last generated particle.
|
||||
</pre>
|
||||
|
||||
<h2><a name = "rainfrequency">5.19 rainfrequency <multiplier></a></h2>
|
||||
<p><pre class = "type">
|
||||
Specifies the interval between spawning new particle puffs on surfaces.
|
||||
</pre>
|
||||
|
||||
<h2><a name = "flurry">5.20 flurry <magnitude></a></h2>
|
||||
<p><pre class = "type">
|
||||
These particles will periodically all change their direction, in a vauge attempt to approximate snow flurries.
|
||||
</pre>
|
||||
|
||||
|
||||
<p align = "center"><a href = "../ch04/pg4_1.htm">Back</a> | <a href = "../index.html">Home</a> | <a href = "../ch06/pg6_1.htm">Next</a>
|
||||
|
||||
</body>
|
||||
</html>
|
@ -0,0 +1,67 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>Particle Manual: Light Keywords</title>
|
||||
<link rel = "stylesheet" type = "text/css" href = "../styles/design.css">
|
||||
</head>
|
||||
<body>
|
||||
<h1 class = "MsoTitle">Particle Manual</h1>
|
||||
<hr>
|
||||
<h1>6 Light Keywords</h1>
|
||||
|
||||
<h2><a name = "lightradius">6.1 lightradius <radius></a></h2>
|
||||
<p><pre class = "type">
|
||||
Spawns a dynamic light when the effect is spawned.
|
||||
The dynamic light is removed when radius drops to 0 or the age is exceeded.
|
||||
At this time it is not possible to override the corona/specular levels.
|
||||
</pre>
|
||||
|
||||
<h2><a name = "lightradiusfade">6.2 lightradiusfade <radiuspersecond></a></h2>
|
||||
<p><pre class = "type">
|
||||
How fast the light radius shrinks per second.
|
||||
</pre>
|
||||
|
||||
<h2><a name = "lightrgb">6.3 lightrgb <r> <g> <b></a></h2>
|
||||
<p><pre class = "type">
|
||||
Dynamic light RGB colours.
|
||||
Higher values can over-saturate.
|
||||
</pre>
|
||||
|
||||
<h2><a name = "lightrgbfade">6.4 lightrgbfade <r/s> <g/s> <b/s></a></h2>
|
||||
<p><pre class = "type">
|
||||
How fast 'lightrgb' changes over time.
|
||||
</pre>
|
||||
|
||||
<h2><a name = "lighttime">6.5 lighttime <maxage></a></h2>
|
||||
<p><pre class = "type">
|
||||
Specifies the maximum lifetime of your dynamic light.
|
||||
</pre>
|
||||
|
||||
<h2><a name = "lightcubemap">6.6 lightcubemap <cubemapnum></a></h2>
|
||||
<p><pre class = "type">
|
||||
Value 0 means no cubemap.
|
||||
otherwise with eg cubemap 5, uses image files cubemaps/5ft.tga, cubemaps/5bk.tga, etc.
|
||||
|
||||
FIXME: At the current time, the cubemap is world-aligned and cannot rotate.
|
||||
</pre>
|
||||
|
||||
<h2><a name = "lightscales">6.7 lightscales <ambient> <diffuse> <specular></a></h2>
|
||||
<p><pre class = "type">
|
||||
Multipliers for the dynamic light's various types of lighting
|
||||
</pre>
|
||||
|
||||
<h2><a name = "lightshadows">6.8 lightshadows <castshadows></a></h2>
|
||||
<p><pre class = "type">
|
||||
0 or 1, specifies whether the dynamic light will cast shadows or not.
|
||||
Its faster if it doesn't.
|
||||
</pre>
|
||||
|
||||
<h2><a name = "lightcorona">6.9 lightcorona <intensity> <scale></a></h2>
|
||||
<p><pre class = "type">
|
||||
Defines the intensity (the glare) and size of the corona the dynamic light
|
||||
will cast.
|
||||
</pre>
|
||||
|
||||
<p align = "center"><a href = "../ch05/pg5_1.htm">Back</a> | <a href = "../index.html">Home</a>
|
||||
|
||||
</body>
|
||||
</html>
|
@ -0,0 +1,115 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>Particle Manual: Table of Contents</title>
|
||||
<link rel = "stylesheet" type = "text/css" href = "styles/design.css">
|
||||
</head>
|
||||
<body>
|
||||
<div align = "center">
|
||||
<h1 class = "MsoTitle">Particle Manual</h1>
|
||||
|
||||
<h2>Revision #1</h2>
|
||||
|
||||
<p style = "font-weight: bold">assembled by Marco Hladik
|
||||
|
||||
<p class = "heading">based on documentation provided by David Walton</div>
|
||||
<hr>
|
||||
<h1>Table of Contents</h1>
|
||||
|
||||
<a href = "ch01/pg1_1.htm">1 Introduction</a>
|
||||
<ul style = "margin-top: 0em">
|
||||
<a href = "ch01/pg1_1.htm#what">1.1 What is a particle config?</em></a>
|
||||
<br><a href = "ch01/pg1_1.htm#conventions">1.2 Particle Name & File Conventions</em></a>
|
||||
</ul>
|
||||
|
||||
<a href = "ch02/pg2_1.htm">2 General Keywords</a>
|
||||
<ul style = "margin-top: 0em">
|
||||
<a href = "ch02/pg2_1.htm#type">2.1 type <mode></em></a>
|
||||
<br><a href = "ch02/pg2_1.htm#count">2.2 count <min> <max></em></a>
|
||||
<br><a href = "ch02/pg2_1.htm#assoc">2.3 assoc <effectname></em></a>
|
||||
<br><a href = "ch02/pg2_1.htm#die">2.4 die <maximum age> <minimum age></em></a>
|
||||
<br><a href = "ch02/pg2_1.htm#spawnmode">2.5 spawnmode <mode> [arg1] [arg2]</em></a>
|
||||
<br><a href = "ch02/pg2_1.htm#clippeddecal">2.6 clippeddecal <mask> [match]</em></a>
|
||||
<br><a href = "ch02/pg2_1.htm#spawntime">2.7 spawntime <value></em></a>
|
||||
<br><a href = "ch02/pg2_1.htm#spawnchance">2.8 spawnchance <value></em></a>
|
||||
<br><a href = "ch02/pg2_1.htm#emit">2.9 emit <effectname></em></a>
|
||||
<br><a href = "ch02/pg2_1.htm#emitinterval">2.10 emitinterval <min></em></a>
|
||||
<br><a href = "ch02/pg2_1.htm#emitintervalrand">2.11 emitintervalrand <extra></em></a>
|
||||
<br><a href = "ch02/pg2_1.htm#emitstart">2.12 emitstart <seconds></em></a>
|
||||
<br><a href = "ch02/pg2_1.htm#perframe">2.13 perframe</em></a>
|
||||
<br><a href = "ch02/pg2_1.htm#averageout">2.14 averageout</em></a>
|
||||
<br><a href = "ch02/pg2_1.htm#nostate">2.15 nostate</em></a>
|
||||
<br><a href = "ch02/pg2_1.htm#sound">2.16 sound <name> [options]</em></a>
|
||||
<br><a href = "ch02/pg2_1.htm#model">2.17 model <name> [options]</em></a>
|
||||
<br><a href = "ch02/pg2_1.htm#viewspace">2.18 viewspace [frac]</em></a>
|
||||
</ul>
|
||||
|
||||
<a href = "ch03/pg3_1.htm">3 Texture Keywords</a>
|
||||
<ul style = "margin-top: 0em">
|
||||
<a href = "ch03/pg3_1.htm#texture">3.1 texture <texturename></em></a>
|
||||
<br><a href = "ch03/pg3_1.htm#material">3.2 material <materialname></em></a>
|
||||
<br><a href = "ch03/pg3_1.htm#tcoords">3.3 tcoords <s1> <t1> <s2> <t2> [tscale] [rsmax] [rsstep]</em></a>
|
||||
<br><a href = "ch03/pg3_1.htm#atlas">3.4 atlas count_in_each_axis firstidx [last]</em></a>
|
||||
<br><a href = "ch03/pg3_1.htm#rotation">3.5 rotation <startmin> <startmax> <speedmin> <speedmax></em></a>
|
||||
<br><a href = "ch03/pg3_1.htm#beamtexstep">3.6 beamtexstep <value></em></a>
|
||||
<br><a href = "ch03/pg3_1.htm#beamtexspeed">3.7 beamtexspeed <value></em></a>
|
||||
<br><a href = "ch03/pg3_1.htm#scale">3.8 scale <min> [max]</em></a>
|
||||
<br><a href = "ch03/pg3_1.htm#scalefactor">3.9 scalefactor <frac></em></a>
|
||||
<br><a href = "ch03/pg3_1.htm#stretchfactor">3.10 stretchfactor <factor></em></a>
|
||||
<br><a href = "ch03/pg3_1.htm#scaledelta">3.11 scaledelta <value></em></a>
|
||||
<br><a href = "ch03/pg3_1.htm#step">3.12 step <min> <max></em></a>
|
||||
</ul>
|
||||
|
||||
<a href = "ch04/pg4_1.htm">4 Color Keywords</a>
|
||||
<ul style = "margin-top: 0em">
|
||||
<a href = "ch04/pg4_1.htm#alpha">4.1 alpha <value></em></a>
|
||||
<br><a href = "ch04/pg4_1.htm#alpharand">4.2 alpharand <value></em></a>
|
||||
<br><a href = "ch04/pg4_1.htm#alphadelta">4.3 alphadelta <value></em></a>
|
||||
<br><a href = "ch04/pg4_1.htm#rgbdeltatime">4.4 rgbdeltatime <value></em></a>
|
||||
<br><a href = "ch04/pg4_1.htm#rampmode">4.5 rampmode <mode></em></a>
|
||||
<br><a href = "ch04/pg4_1.htm#rampindexlist">4.6 rampindexlist <idx1> [<idx2> [idx3 ...]]</em></a>
|
||||
<br><a href = "ch04/pg4_1.htm#rampindex">4.7 rampindex <idx> <scale></em></a>
|
||||
<br><a href = "ch04/pg4_1.htm#ramp">4.8 ramp <red> <green> <blue> [alpha] [scale]</em></a>
|
||||
<br><a href = "ch04/pg4_1.htm#blend">4.9 blend <mode></em></a>
|
||||
<br><a href = "ch04/pg4_1.htm#stains">4.10 stains <value></em></a>
|
||||
<br><a href = "ch04/pg4_1.htm#spawnstain">4.11 spawnstain <radius> <r> <g> <b></em></a>
|
||||
</ul>
|
||||
|
||||
<a href = "ch05/pg5_1.htm">5 Physics/Animation Keywords</a>
|
||||
<ul style = "margin-top: 0em">
|
||||
<a href = "ch05/pg5_1.htm#randomvel">5.1 randomvel <horiz> [vert]</em></a>
|
||||
<br><a href = "ch05/pg5_1.htm#veladd">5.2 veladd <value></em></a>
|
||||
<br><a href = "ch05/pg5_1.htm#orgadd">5.3 orgadd <value></em></a>
|
||||
<br><a href = "ch05/pg5_1.htm#orgbias">5.4 orgbias <x> <y> <z></em></a>
|
||||
<br><a href = "ch05/pg5_1.htm#velbias">5.5 velbias</em></a>
|
||||
<br><a href = "ch05/pg5_1.htm#orgwrand">5.6 orgwrand</em></a>
|
||||
<br><a href = "ch05/pg5_1.htm#velwrand">5.7 velwrand</em></a>
|
||||
<br><a href = "ch05/pg5_1.htm#friction">5.8 friction <<xyz>|<xy> <z> | <x> <y> <z>></em></a>
|
||||
<br><a href = "ch05/pg5_1.htm#gravity">5.9 gravity <value></em></a>
|
||||
<br><a href = "ch05/pg5_1.htm#clipbounce">5.10 clipbounce <value></em></a>
|
||||
<br><a href = "ch05/pg5_1.htm#cliptype">5.11 cliptype <effectname></em></a>
|
||||
<br><a href = "ch05/pg5_1.htm#clipcount">5.12 clipcount <count></em></a>
|
||||
<br><a href = "ch05/pg5_1.htm#notunderwater">5.13 notunderwater [content names]</em></a>
|
||||
<br><a href = "ch05/pg5_1.htm#underwater">5.14 underwater [content names]</em></a>
|
||||
<br><a href = "ch05/pg5_1.htm#perframe">5.15 perframe</em></a>
|
||||
<br><a href = "ch05/pg5_1.htm#averageout">5.16 averageout</em></a>
|
||||
<br><a href = "ch05/pg5_1.htm#nospreadfirst">5.17 nospreadfirst</em></a>
|
||||
<br><a href = "ch05/pg5_1.htm#nospreadlast">5.18 nospreadlast</em></a>
|
||||
<br><a href = "ch05/pg5_1.htm#rainfrequency">5.19 rainfrequency <multiplier></em></a>
|
||||
<br><a href = "ch05/pg5_1.htm#flurry">5.20 flurry <magnitude></em></a>
|
||||
</ul>
|
||||
|
||||
<a href = "ch06/pg6_1.htm">6 Light Keywords</a>
|
||||
<ul style = "margin-top: 0em">
|
||||
<a href = "ch06/pg6_1.htm#lightradius">6.1 lightradius <radius></em></a>
|
||||
<br><a href = "ch06/pg6_1.htm#lightradiusfade">6.2 lightradiusfade <radiuspersecond></em></a>
|
||||
<br><a href = "ch06/pg6_1.htm#lightrgb">6.3 lightrgb <r> <g> <b></em></a>
|
||||
<br><a href = "ch06/pg6_1.htm#lightrgbfade">6.4 lightrgbfade <r/s> <g/s> <b/s></em></a>
|
||||
<br><a href = "ch06/pg6_1.htm#lighttime">6.5 lighttime <maxage></em></a>
|
||||
<br><a href = "ch06/pg6_1.htm#lightcubemap">6.6 lightcubemap <cubemapnum></em></a>
|
||||
<br><a href = "ch06/pg6_1.htm#lightscales">6.7 lightscales <ambient> <diffuse> <specular></em></a>
|
||||
<br><a href = "ch06/pg6_1.htm#lightshadows">6.8 lightshadows <castshadows></em></a>
|
||||
<br><a href = "ch06/pg6_1.htm#lightcorona">6.9 lightcorona <intensity> <scale></em></a>
|
||||
</ul>
|
||||
|
||||
</body>
|
||||
</html>
|
@ -0,0 +1,23 @@
|
||||
body { font: 12pt "Times New Roman";
|
||||
margin-left: 5mm;
|
||||
margin-right: 5mm;
|
||||
text-align: justify;
|
||||
background: #ffffff;
|
||||
color: #000000 }
|
||||
h1 { font: bold 24pt Arial, Helvetica }
|
||||
h2 { font: bold italic 18pt Arial, Helvetica }
|
||||
.subheading { font: bold 16pt Arial, Helvetica }
|
||||
:link {color: blue;
|
||||
text-decoration: none; }
|
||||
:visited {color: purple;
|
||||
text-decoration: none; }
|
||||
h6 { font: 10pt "Times New Roman" }
|
||||
.MsoToc2 { font: bold small-caps 12pt "Times New Roman" }
|
||||
.MsoTitle { text-align:center;
|
||||
font: bold 24pt "BankGothic Md BT";
|
||||
letter-spacing:2.5pt }
|
||||
.heading { font: italic 10pt "Times New Roman" }
|
||||
.subcontents { font: 10pt "Times New Roman" }
|
||||
.tip { font: 10pt "Comic Sans MS" }
|
||||
.type { font: 10pt "Courier New" }
|
||||
.menu { font: 10pt Arial, Helvetica }
|
Reference in new issue