func_precipitation
func_precipitation
is a brush entity available in all Source games. It creates rain, snow, or ash inside its volume.
class hierarchy |
---|
CPrecipitation defined in effects.cpp
|
Note:This is a preserved entity in .
- On a new round, its properties including its position will intentionally not reset. You can use logic_auto to emulate resetting it.
- Killing it removes it forever, as it is not respawned on a new round.
- It cannot be spawned with a point_template.
- Parenting this with non preserved entities may have undesirable effects.
Keyvalues
Targetname:
- Name
(targetname)
<string> - The targetname that other entities refer to this entity by.
- Density (0-100%)
(renderamt)
<integer> - This is the amount of particles that fall down from the top side of the brush. However, distance from first particle to second depends on a brush volume size!
- Color (R G B)
(rendercolor)
<color255> - Color added to sprites which are rendered transparently (probably rain and snow particles)
- Precipitation Type
(preciptype)
<choices> - Precipitation type
- 0: Rain. Rain falling. Example: CS:S map "
de_aztec
" - 1: Snow. Identical to Rain, use "Snowfall" instead
- 2: Ash. Ash falling. Appears with missing textures in most games other than Half-Life 2: Episode One. A fix can be applied by extracting all 3
materials/effects/fleck_ash*
textures andmaterials/effects/ember_swirling001
fromep1_pak_dir.vpk
. Example: Used throughout EP1 - 3: Snowfall. Snow falling. Example: DoD:S map "
dod_colmar
". - 4: Particle Rain. (in all games since ) Particle rain with slight mist and refraction. Examples: Left 4 Dead's "No Mercy" campaign, CS:GO map "
de_aztec
" - 5: Particle Ash. (in all games since ) Particle ash. Example: Left 4 Dead's "Dead Air" campaign.
- 6: Particle Rain Storm. (in all games since ) Particle rain with no mist/refraction and more angled particles. Alpha values over 100 enable an additional flying leaves effect seen during the storm event. Example: Left 4 Dead 2's "Hard Rain" and "The Passing" campaigns.
- 7: Particle Snow. (in all games since ) Particle snowfall. Example: CS:GO map "
ar_monastery
" - 7: Particle Bugs. (only in ) Particle flying bugs. In later games, this value is used by Particle Snow instead. Example: Left 4 Dead 2's "Swamp Fever" campaign.
- 8: Particle Smoke. (only in ) Particle smoke with variable density. Example: Left 4 Dead 2's "Dead Center" campaign.
Inputs
Alpha
<integer> !FGD- Changes the density of the rain, and may add additional particle effects like fog or leafs. It accepts inputs from -1 to 255.
Related Console Commands
There are a number of console commands that control precipitation rendering. See the Precipitation issues page for details on various issues and workarounds involving this entity.
Command Name Value Description r_RainParticleDensity <float> Set the density to enable or disable any precipitation particle. Value 1 to enable and 0 to disable. r_rainalpha <float> Adjusts transparency of rain particles. r_rainProfile <bool> Displays stats on rain rendering costs. r_RainHack <bool> Overrides density values set in Hammer. Enabling will result in longer and more dense rain than at 100%. Can help solve visibility issues. Note:Rain may fall through brushes when this command is enabled.r_rainspeed <float> Lower values will cause rain to disappear sooner and fall slower. Default value is 600.0f r_RainSideVel <float> Controls sideways movement of the rain particles. r_RainSimulate <bool> Toggles animation on the rain; freezes the rain when set to 0. r_rainwidth <float> Widens the rain's alpha to desired value. Default value is 0.5 r_RainRadius <float> Distance from the brush where the rain starts/stops rendering. r_rainlength <float> Changes the length of the rain particles. Default value is 0.1f r_RainSplashPercentage <float> Percent chance of splash particles spawning when a particle is used. r_raindensity <float> No function. Use r_RainParticleDensity
instead.r_rainalphapow <float> Raises the value of r_rainalpha
exponentially.Confirm:Some say this has no effect?
Warning:
func_precipitation
brushes should not overlap func_smokevolume
brushes, as it can freeze the game. The exact cause of this is not clear.Note:The precipitation created by this entity is not gpu-accelerated. In resource-intensive multiplayer games such as , it's recommended to use a particle system to create weather effects rather than relying on this entity.