Difference between revisions of "R part"
(first incomplete revision) |
CheapAlert (talk | contribs) (→Trails: SPIKE YOU TYPOED THIS TOO YOU JERK.) |
||
(17 intermediate revisions by one other user not shown) | |||
Line 1: | Line 1: | ||
<br /> | <br /> | ||
− | <b>Syntax:</b> r_part <effectname> { | + | <b>Syntax:</b> r_part <effectname> { <effectfields> }<br /> |
<br /> | <br /> | ||
− | Defines a particle effect with given properties defined in | + | Defines a particle effect with given properties defined in effectfields. This command will wipe all particles/beams in use for an existing particle effect and all previous properties with it.<br /> |
<br /> | <br /> | ||
− | + | <effectname> is the name of the particle effect to assign<br /> | |
− | * Beams | + | <particlefields> is the list of properties to assign to named particle effect<br /> |
− | + | <br /> | |
− | + | == Special Particle Names == | |
− | + | === Point effects === | |
− | + | Assigning to these names control point effects, which are effects with a start point and possibly a direction, such as gunshot impacts.<br /> | |
− | + | * te_blob: TE_TAREXPLOSION (Tar baby explosion) | |
− | * | + | * te_blood: QuakeWorld TE_BLOOD and [[DP_TE_BLOOD]] (blood from damage) |
− | * | + | * te_explosion: TE_EXPLOSION (rocket and grenade explosion) |
− | * | + | * te_gunshot: TE_GUNSHOT (shotgun wall impacts) |
− | + | * te_knightspike: TE_KNIGHTSPIKE (Hell Knight projectile impact) | |
− | + | * te_lavasplash: TE_LAVASPLASH (Chthon lava splash) | |
− | * Beam end points | + | * te_lightningblood: QuakeWorld TE_LIGHTNINGBLOOD (lightning damage) |
− | + | * te_spike: TE_SPIKE (nailgun nail impact) | |
− | + | * te_superspike: TE_SUPERSPIKE (super nailgun nail impact) | |
− | + | * te_teleportsplash: TE_TELEPORT (teleport and respawn) | |
− | + | * te_wizspike: TE_WIZSPIKE (Scrag projectile impact) | |
− | + | * te_bullet: [[FTE_PEXT_TE_BULLET]]'s TE_BULLET | |
− | + | * te_superbullet: [[FTE_PEXT_TE_BULLET]]'s TE_SUPERBULLET | |
+ | * te_bigexplosion: DarkPlaces TE_BIGEXPLOSION | ||
+ | * te_bloodshower: [[DP_TE_BLOODSHOWER]] | ||
+ | * te_cube[_g][_<c>]: [[DP_TE_PARTICLECUBE]], [_g] is with/without gravity from call, c is specific color which is optional | ||
+ | * te_explosionquad: [[DP_TE_QUADEFFECTS1]]'s TE_EXPLOSIONQUAD | ||
+ | * te_flamejet: [[DP_TE_FLAMEJET]] | ||
+ | * te_gunshotquad: [[DP_TE_QUADEFFECTS1]]'s TE_GUNSHOTQUAD | ||
+ | * te_plasma: DarkPlaces TE_PLASMA | ||
+ | * te_rain[_<c>]: [[DP_TE_PARTICLERAIN]], c is specific color from call which is optional | ||
+ | * te_smoke: DarkPlaces TE_SMOKE | ||
+ | * te_snow[_<c>]: [[DP_TE_PARTICLESNOW]], c is specific color from call which is optional | ||
+ | * te_spark: [[DP_TE_SPARK]] | ||
+ | * te_spikequad: [[DP_TE_QUADEFFECTS1]]'s TE_SPIKEQUAD | ||
+ | * te_superspikequad: [[DP_TE_QUADEFFECTS1]]'s TE_SUPERSPIKEQUAD | ||
+ | * te_bfg_bigexplosion: Quake 2's TE_BFG_BIGEXPLOSION (BFG core explosion) | ||
+ | * te_blasterparticles: Quake 2's TE_BLASTER (blaster projectile impact) | ||
+ | * te_blaster2: Quake 2's TE_BLASTER2 and TE_FLECHETTE | ||
+ | * te_greenblood: Quake 2's TE_GREENBLOOD | ||
+ | * te_moreblood: Quake 2's TE_MOREBLOOD | ||
+ | * te_tracker_explosion: Quake 2's TE_TRACKER_EXPLOSION | ||
+ | * te_widowsplash: Quake 2's TE_WIDOWSPLASH | ||
+ | === Beams === | ||
+ | Assigning to these names will control beam effects, which are effects with a given start and end point.<br /> | ||
+ | * te_beam: TE_BEAM (Rogue expansion effect) | ||
+ | * te_lightning1: TE_LIGHTNING1 (Shambler lightning) | ||
+ | * te_lightning2: TE_LIGHTNING2 (player shaft lightning) | ||
+ | * te_lightning3: TE_LIGHTNING3 (Chthon trap lightning) | ||
+ | * te_nexbeam: DarkPlaces TE_TEI_G3 (Nexuiz Nex weapon) | ||
+ | * te_plasmaburn: [[DP_TE_PLASMABURN]] | ||
+ | * te_bubbletrail: Quake 2 TE_BUBBLETRAIL (bullet underwater bubble trails) | ||
+ | * te_debugtrail: Quake 2 TE_DEBUGTRAIL | ||
+ | * te_grapple_cable: Quake 2 TE_GRAPPLE_CABLE (CTF grapple weapon) | ||
+ | * te_parasite_attack_end: Quake 2 TE_PARASITE_ATTACK (parasite monster attack) | ||
+ | * te_railtrail: Quake 2 TE_RAILTRAIL or ZQuake's rail trails (railgun) | ||
+ | * te_stream_icechunks: Hexen 2 TE_STREAM_ICECHUNKS | ||
+ | * te_stream_sunstaff: Hexen 2 TE_STREAM_SUNSTAFF (Crusader's Sunstaff weapon) | ||
+ | * te_stream_sunstaff2: Hexen 2 TE_STREAM_SUNSTAFF2 (Crusader's Sunstaff weapon) | ||
+ | === Beam end points === | ||
+ | Assigning to these names will add effects at the ends of beam point much like point effects.<br /> | ||
+ | * te_beam_end: TE_BEAM end point | ||
+ | * te_lightning1_end: TE_LIGHTNING1 end point | ||
+ | * te_lightning2_end: TE_LIGHTNING2 end point | ||
+ | * te_lightning3_end: TE_LIGHTNING3 end point | ||
+ | * te_grapple_cable_end: Quake 2 TE_GRAPPLE_CABLE end point | ||
+ | * te_parasite_attack_end: Quake 2 TE_PARASITE_ATTACK end point | ||
+ | === Trails === | ||
+ | Assigning to these names will control model effects and gamecode trails.<br /> | ||
+ | * t_altrocket: Alternate rocket trail, see [[r_rockettrail]] | ||
+ | * t_gib: EF_GIB model flag (Gib) | ||
+ | * t_grenade: EF_GRENADE model flag (Grenade) | ||
+ | * t_rocket: EF_ROCKET model flag (Rocket) | ||
+ | * t_tracer: EF_TRACER model flag (Scrag projectile) | ||
+ | * t_tracer2: EF_TRACER2 model flag (Knight projectile) | ||
+ | * t_tracer3: EF_TRACER3 model flag (Vore projectile) | ||
+ | * t_zomgib: EF_ZOMGIB model flag (Zombie gib) | ||
+ | * t_blastertrail: Quake 2 EF_BLASTER effect (blaster projectile) | ||
+ | * t_acidball: Hexen 2 EF_ACIDBALL model flag | ||
+ | * t_bloodshot: Hexen 2 EF_BLOODSHOT model flag | ||
+ | * t_boneshard: Hexen 2 EF_BONESHARD model flag (Necromancer bone shard projectiles) | ||
+ | * t_fireball: Hexen 2 EF_FIREBALL model flag | ||
+ | * t_ice: Hexen 2 EF_ICE model flag | ||
+ | * t_magicmissile: Hexen 2 EF_MAGICMISSILE model flag (Necromancer magic missiles) | ||
+ | * t_scarab: Hexen 2 EF_SCARAB model flag (Assassin scarab weapon projectile) | ||
+ | * t_setstaff: Hexen 2 EF_SETSTAFF model flag | ||
+ | * t_spit: Hexen 2 EF_SPIT model flag | ||
+ | * t_spell: Hexen 2 EF_SPELL model flag | ||
+ | * t_vorpmissile: Hexen 2 EF_VORPMISSILE model flag | ||
+ | |||
+ | === Emitters === | ||
+ | Assigning to these names controls fixed emitted effects.<br /> | ||
+ | * ef_entityparticles: NetQuake EF_BRIGHTFIELD | ||
+ | === Miscellaneous === | ||
+ | * pe_pointfile: used with [[pointfile]] | ||
+ | * pe_default: default inherited effect for point effects | ||
+ | * pe_defaulttrail: default inherited effect for trail and beam effects | ||
+ | * pe_size2: inherited effect for effects with a called count > 20 | ||
+ | * pe_size3: inherited effect for effects with a called count > 130 | ||
+ | * pe_<c>: NetQuake particle call, c is specific color from call | ||
+ | * pe2[_<e>]_<c>: Hexen 2 particle2 call, e is specific effect number from call which is optional, c is specific color | ||
+ | * pe3[_<e>]_<c>: Hexen 2 particle3 call, e is specific effect number from call which is optional, c is specific color | ||
+ | * pe4[_<e>]_<c>: Hexen 2 particle4 call, e is specific effect number from call which is optional, c is specific color | ||
+ | <br /> | ||
+ | == Particle Fields == | ||
+ | |||
+ | Fields are in the format of <fieldname> <fieldparam1> ... <fieldparamn> and are seperated by new lines.<br /> | ||
<br /> | <br /> | ||
Example:<br /> | Example:<br /> | ||
+ | |||
+ | r_part t_grenade | ||
+ | { | ||
+ | die 0.8 | ||
+ | diesubrand 0.4 | ||
+ | texture "particles/quake" | ||
+ | step 5 | ||
+ | scale 4 | ||
+ | alpha 0.7 | ||
+ | rgb 192 192 192 | ||
+ | rgbdelta -128 -128 -128 | ||
+ | spawnorg 4 | ||
+ | gravity -40 | ||
+ | } | ||
+ | |||
+ | See [[Particle Field List]] for a list of fields usable with particle effects.<br /> | ||
+ | |||
+ | === Special Case Field Inheritance === | ||
+ | |||
+ | == Associating Effects == | ||
+ | Creating effects that call other effects is very simple.<br /> | ||
<br /> | <br /> | ||
− | // | + | Example: |
− | r_part | + | r_part coolsmokeeffect { |
+ | ... | ||
+ | } | ||
+ | r_part te_explosion { | ||
+ | ... | ||
+ | assoc sparksandstuff | ||
+ | } | ||
+ | r_part sparksandstuff { | ||
+ | ... | ||
+ | assoc coolsmokeeffect | ||
+ | } | ||
+ | |||
+ | This example calls te_explosion, then sparksandstuff, then coolsmokeeffect with an explosion effect is triggered in the client.<br /> | ||
+ | <br /> | ||
+ | You do not need to define associated effects in any special order. However, the associated chain can not be a loop.<br /> | ||
+ | <br /> | ||
+ | Example: | ||
+ | r_part invalid { | ||
+ | assoc invalid2 | ||
+ | } | ||
+ | r_part invalid2 { | ||
+ | assoc invalid | ||
+ | } | ||
+ | |||
+ | FTE will reject this.<br /> | ||
+ | <br /> | ||
+ | Associated effects inherit origin, direction, and a count from the original particle call, and not from fields in the parent particle effect.<br /> | ||
+ | |||
+ | == Spawn Modes == | ||
+ | |||
+ | === Point effects === | ||
+ | * ball: sphere of particles, filled | ||
+ | * box (default): square box of particles | ||
+ | * circle: sphere of particles, empty in middle | ||
+ | * distball: sphere of particles with a specific distribution | ||
+ | * field: positioned particle with a specific distribution over time, like Quake 2 files effect | ||
+ | * lavasplash: a box of particles spread uniformly with unique spawn velocities, like the standard Quake 1 lava splash | ||
+ | * telebox: a squarish box of particles with unique spawn velocities, like the standard Quake 1 teleporter effect | ||
+ | * unicircle: like the circle effect except uniformly distributed, x/y plane only | ||
+ | |||
+ | === Beam/Trail effects === | ||
+ | * ball: a line of particles with spawns going outward from the center within a circle | ||
+ | * box (default): a line of particles with spawns going outward from the center within a box | ||
+ | * circle: a line of particles with spawns going outward from the center in a circle | ||
+ | * distball: a line of particles with spawns going outward from the center within a distributed circle | ||
+ | * spiral: spiral trail | ||
+ | *: spawnparam1 is the distance per spiral wavelength | ||
+ | * tracer: a line of particles splitting by alternating between two sides, like the Quake 1 Scrag trail | ||
+ | |||
+ | == Particle Types == | ||
+ | * normal, blob: generic textured particle | ||
+ | * beam: beam particle with two connected points | ||
+ | * spark: line particle, length changes with velocity | ||
+ | * sparkfan: triangular spark, size changes with velocity, similar to QMB's sparks | ||
+ | * texturedspark: uses a texture to create a similar spark to the other two types | ||
+ | * decal: wall decal (restricted in features compared to other types) <font color=red>EXPERIMENTAL</font> | ||
+ | |||
+ | == Creating Ramps == | ||
+ | The rampmode field is used to select the ramp type.<br /> | ||
+ | The life of the particle is divided into an even segment for every ramp or rampindex field.<br /> | ||
+ | <br /> | ||
+ | |||
+ | === Absolute === | ||
+ | Absolute ramps change properties to an exact value depending on the current life of the particle.<br /> | ||
+ | <br /> | ||
+ | Example: | ||
+ | r_part absoluteramp | ||
{ | { | ||
− | die 1 | + | die 5 |
− | + | count 1 | |
− | alpha 0. | + | rampmode absolute |
− | rgb 255 | + | ramp 255 0 0 1.0 30 // Particle starts with color = red, alpha = 1, scale = 30 |
− | + | ramp 0 255 0 1.0 20 // After 1 second, color = green, alpha = 1, scale = 20 | |
− | + | ramp 0 0 255 0.5 40 // After 2 seconds, color = blue, alpha = 0.5, scale = 40 | |
− | + | ramp 255 255 255 1.0 50 // After 3 seconds, color = white, alpha = 1, scale = 50 | |
+ | ramp 0 0 0 0.5 10 // After 4 seconds, color = black, alpha = 0.5, scale = 10 | ||
+ | } | ||
+ | |||
+ | === Delta === | ||
+ | Delta ramps change the rate of change depending on the current life of the particle.<br /> | ||
+ | <br /> | ||
+ | Example: | ||
+ | r_part deltaramp | ||
+ | { | ||
+ | die 3 | ||
+ | count 1 | ||
+ | rampmode delta | ||
+ | alpha 1 | ||
+ | scale 30 | ||
+ | rgb 255 255 255 | ||
+ | // The particle starts out white, with full alpha and a scale of 30 | ||
+ | ramp 0 0 0 0 -10 // The particle starts with drop of 10 scale per second | ||
+ | ramp 0 -255 0 0 0 // After 1 second, there is a drop of 255 green per second | ||
+ | ramp 0 0 0 1 0 // After 2 seconds, there is a drop of 1 alpha per second | ||
} | } | ||
+ | |||
+ | That's not a typo with the ramp alpha change. Blame Spike for that.<br /> | ||
+ | |||
+ | == Using Emitters == | ||
+ | To emit particles, use the emit field to name the particle effect to emit. Set emitinterval, emitinvervalrand, and emitstart properties to control how often and when to emit particles.<br /> |
Latest revision as of 07:38, 14 January 2006
Syntax: r_part <effectname> { <effectfields> }
Defines a particle effect with given properties defined in effectfields. This command will wipe all particles/beams in use for an existing particle effect and all previous properties with it.
<effectname> is the name of the particle effect to assign
<particlefields> is the list of properties to assign to named particle effect
Contents
Special Particle Names
Point effects
Assigning to these names control point effects, which are effects with a start point and possibly a direction, such as gunshot impacts.
- te_blob: TE_TAREXPLOSION (Tar baby explosion)
- te_blood: QuakeWorld TE_BLOOD and DP_TE_BLOOD (blood from damage)
- te_explosion: TE_EXPLOSION (rocket and grenade explosion)
- te_gunshot: TE_GUNSHOT (shotgun wall impacts)
- te_knightspike: TE_KNIGHTSPIKE (Hell Knight projectile impact)
- te_lavasplash: TE_LAVASPLASH (Chthon lava splash)
- te_lightningblood: QuakeWorld TE_LIGHTNINGBLOOD (lightning damage)
- te_spike: TE_SPIKE (nailgun nail impact)
- te_superspike: TE_SUPERSPIKE (super nailgun nail impact)
- te_teleportsplash: TE_TELEPORT (teleport and respawn)
- te_wizspike: TE_WIZSPIKE (Scrag projectile impact)
- te_bullet: FTE_PEXT_TE_BULLET's TE_BULLET
- te_superbullet: FTE_PEXT_TE_BULLET's TE_SUPERBULLET
- te_bigexplosion: DarkPlaces TE_BIGEXPLOSION
- te_bloodshower: DP_TE_BLOODSHOWER
- te_cube[_g][_<c>]: DP_TE_PARTICLECUBE, [_g] is with/without gravity from call, c is specific color which is optional
- te_explosionquad: DP_TE_QUADEFFECTS1's TE_EXPLOSIONQUAD
- te_flamejet: DP_TE_FLAMEJET
- te_gunshotquad: DP_TE_QUADEFFECTS1's TE_GUNSHOTQUAD
- te_plasma: DarkPlaces TE_PLASMA
- te_rain[_<c>]: DP_TE_PARTICLERAIN, c is specific color from call which is optional
- te_smoke: DarkPlaces TE_SMOKE
- te_snow[_<c>]: DP_TE_PARTICLESNOW, c is specific color from call which is optional
- te_spark: DP_TE_SPARK
- te_spikequad: DP_TE_QUADEFFECTS1's TE_SPIKEQUAD
- te_superspikequad: DP_TE_QUADEFFECTS1's TE_SUPERSPIKEQUAD
- te_bfg_bigexplosion: Quake 2's TE_BFG_BIGEXPLOSION (BFG core explosion)
- te_blasterparticles: Quake 2's TE_BLASTER (blaster projectile impact)
- te_blaster2: Quake 2's TE_BLASTER2 and TE_FLECHETTE
- te_greenblood: Quake 2's TE_GREENBLOOD
- te_moreblood: Quake 2's TE_MOREBLOOD
- te_tracker_explosion: Quake 2's TE_TRACKER_EXPLOSION
- te_widowsplash: Quake 2's TE_WIDOWSPLASH
Beams
Assigning to these names will control beam effects, which are effects with a given start and end point.
- te_beam: TE_BEAM (Rogue expansion effect)
- te_lightning1: TE_LIGHTNING1 (Shambler lightning)
- te_lightning2: TE_LIGHTNING2 (player shaft lightning)
- te_lightning3: TE_LIGHTNING3 (Chthon trap lightning)
- te_nexbeam: DarkPlaces TE_TEI_G3 (Nexuiz Nex weapon)
- te_plasmaburn: DP_TE_PLASMABURN
- te_bubbletrail: Quake 2 TE_BUBBLETRAIL (bullet underwater bubble trails)
- te_debugtrail: Quake 2 TE_DEBUGTRAIL
- te_grapple_cable: Quake 2 TE_GRAPPLE_CABLE (CTF grapple weapon)
- te_parasite_attack_end: Quake 2 TE_PARASITE_ATTACK (parasite monster attack)
- te_railtrail: Quake 2 TE_RAILTRAIL or ZQuake's rail trails (railgun)
- te_stream_icechunks: Hexen 2 TE_STREAM_ICECHUNKS
- te_stream_sunstaff: Hexen 2 TE_STREAM_SUNSTAFF (Crusader's Sunstaff weapon)
- te_stream_sunstaff2: Hexen 2 TE_STREAM_SUNSTAFF2 (Crusader's Sunstaff weapon)
Beam end points
Assigning to these names will add effects at the ends of beam point much like point effects.
- te_beam_end: TE_BEAM end point
- te_lightning1_end: TE_LIGHTNING1 end point
- te_lightning2_end: TE_LIGHTNING2 end point
- te_lightning3_end: TE_LIGHTNING3 end point
- te_grapple_cable_end: Quake 2 TE_GRAPPLE_CABLE end point
- te_parasite_attack_end: Quake 2 TE_PARASITE_ATTACK end point
Trails
Assigning to these names will control model effects and gamecode trails.
- t_altrocket: Alternate rocket trail, see r_rockettrail
- t_gib: EF_GIB model flag (Gib)
- t_grenade: EF_GRENADE model flag (Grenade)
- t_rocket: EF_ROCKET model flag (Rocket)
- t_tracer: EF_TRACER model flag (Scrag projectile)
- t_tracer2: EF_TRACER2 model flag (Knight projectile)
- t_tracer3: EF_TRACER3 model flag (Vore projectile)
- t_zomgib: EF_ZOMGIB model flag (Zombie gib)
- t_blastertrail: Quake 2 EF_BLASTER effect (blaster projectile)
- t_acidball: Hexen 2 EF_ACIDBALL model flag
- t_bloodshot: Hexen 2 EF_BLOODSHOT model flag
- t_boneshard: Hexen 2 EF_BONESHARD model flag (Necromancer bone shard projectiles)
- t_fireball: Hexen 2 EF_FIREBALL model flag
- t_ice: Hexen 2 EF_ICE model flag
- t_magicmissile: Hexen 2 EF_MAGICMISSILE model flag (Necromancer magic missiles)
- t_scarab: Hexen 2 EF_SCARAB model flag (Assassin scarab weapon projectile)
- t_setstaff: Hexen 2 EF_SETSTAFF model flag
- t_spit: Hexen 2 EF_SPIT model flag
- t_spell: Hexen 2 EF_SPELL model flag
- t_vorpmissile: Hexen 2 EF_VORPMISSILE model flag
Emitters
Assigning to these names controls fixed emitted effects.
- ef_entityparticles: NetQuake EF_BRIGHTFIELD
Miscellaneous
- pe_pointfile: used with pointfile
- pe_default: default inherited effect for point effects
- pe_defaulttrail: default inherited effect for trail and beam effects
- pe_size2: inherited effect for effects with a called count > 20
- pe_size3: inherited effect for effects with a called count > 130
- pe_<c>: NetQuake particle call, c is specific color from call
- pe2[_<e>]_<c>: Hexen 2 particle2 call, e is specific effect number from call which is optional, c is specific color
- pe3[_<e>]_<c>: Hexen 2 particle3 call, e is specific effect number from call which is optional, c is specific color
- pe4[_<e>]_<c>: Hexen 2 particle4 call, e is specific effect number from call which is optional, c is specific color
Particle Fields
Fields are in the format of <fieldname> <fieldparam1> ... <fieldparamn> and are seperated by new lines.
Example:
r_part t_grenade { die 0.8 diesubrand 0.4 texture "particles/quake" step 5 scale 4 alpha 0.7 rgb 192 192 192 rgbdelta -128 -128 -128 spawnorg 4 gravity -40 }
See Particle Field List for a list of fields usable with particle effects.
Special Case Field Inheritance
Associating Effects
Creating effects that call other effects is very simple.
Example:
r_part coolsmokeeffect { ... } r_part te_explosion { ... assoc sparksandstuff } r_part sparksandstuff { ... assoc coolsmokeeffect }
This example calls te_explosion, then sparksandstuff, then coolsmokeeffect with an explosion effect is triggered in the client.
You do not need to define associated effects in any special order. However, the associated chain can not be a loop.
Example:
r_part invalid { assoc invalid2 } r_part invalid2 { assoc invalid }
FTE will reject this.
Associated effects inherit origin, direction, and a count from the original particle call, and not from fields in the parent particle effect.
Spawn Modes
Point effects
- ball: sphere of particles, filled
- box (default): square box of particles
- circle: sphere of particles, empty in middle
- distball: sphere of particles with a specific distribution
- field: positioned particle with a specific distribution over time, like Quake 2 files effect
- lavasplash: a box of particles spread uniformly with unique spawn velocities, like the standard Quake 1 lava splash
- telebox: a squarish box of particles with unique spawn velocities, like the standard Quake 1 teleporter effect
- unicircle: like the circle effect except uniformly distributed, x/y plane only
Beam/Trail effects
- ball: a line of particles with spawns going outward from the center within a circle
- box (default): a line of particles with spawns going outward from the center within a box
- circle: a line of particles with spawns going outward from the center in a circle
- distball: a line of particles with spawns going outward from the center within a distributed circle
- spiral: spiral trail
- spawnparam1 is the distance per spiral wavelength
- tracer: a line of particles splitting by alternating between two sides, like the Quake 1 Scrag trail
Particle Types
- normal, blob: generic textured particle
- beam: beam particle with two connected points
- spark: line particle, length changes with velocity
- sparkfan: triangular spark, size changes with velocity, similar to QMB's sparks
- texturedspark: uses a texture to create a similar spark to the other two types
- decal: wall decal (restricted in features compared to other types) EXPERIMENTAL
Creating Ramps
The rampmode field is used to select the ramp type.
The life of the particle is divided into an even segment for every ramp or rampindex field.
Absolute
Absolute ramps change properties to an exact value depending on the current life of the particle.
Example:
r_part absoluteramp { die 5 count 1 rampmode absolute ramp 255 0 0 1.0 30 // Particle starts with color = red, alpha = 1, scale = 30 ramp 0 255 0 1.0 20 // After 1 second, color = green, alpha = 1, scale = 20 ramp 0 0 255 0.5 40 // After 2 seconds, color = blue, alpha = 0.5, scale = 40 ramp 255 255 255 1.0 50 // After 3 seconds, color = white, alpha = 1, scale = 50 ramp 0 0 0 0.5 10 // After 4 seconds, color = black, alpha = 0.5, scale = 10 }
Delta
Delta ramps change the rate of change depending on the current life of the particle.
Example:
r_part deltaramp { die 3 count 1 rampmode delta alpha 1 scale 30 rgb 255 255 255 // The particle starts out white, with full alpha and a scale of 30 ramp 0 0 0 0 -10 // The particle starts with drop of 10 scale per second ramp 0 -255 0 0 0 // After 1 second, there is a drop of 255 green per second ramp 0 0 0 1 0 // After 2 seconds, there is a drop of 1 alpha per second }
That's not a typo with the ramp alpha change. Blame Spike for that.
Using Emitters
To emit particles, use the emit field to name the particle effect to emit. Set emitinterval, emitinvervalrand, and emitstart properties to control how often and when to emit particles.