Func precipitation: Difference between revisions
Jump to navigation
Jump to search
Important:This is a preserved entity in 
.
If the game has round restart mechanics this entity may not behave as expected:
Note:The "Particle" precipitation types are generated using the PCF files of a game, allowing users to alter the look of the precipitation in more ways than just the used material.
Warning:
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.
mNo edit summary |
|||
Line 155: | Line 155: | ||
== See also == | == See also == | ||
* [[func_precipitation_blocker]] | * [[func_precipitation_blocker]] | ||
* [[Rain splashes]] |
Revision as of 00:08, 22 September 2024
func_precipitation
is a brush entity available in all Source games. It creates rain, snow, or ash inside its volume.
![]() |
---|
CPrecipitation |
![]() |



If the game has round restart mechanics this entity may not behave as expected:
|
Keyvalues
- Name (targetname) <string>[ Edit ]
- The name that other entities refer to this entity by, via Inputs/Outputs or other keyvalues (e.g.
parentname
ortarget
).
Also displayed in Hammer's 2D views and Entity Report.See also: Generic Keyvalues, Inputs and Outputs available to all entities
- 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) <integer choices>
- Precipitation type
Value | Type | Availability | Description |
---|---|---|---|
0 | Rain | Seen in ![]() de_aztec " |
|
1 | Snow | Identical to Rain, use "Snowfall" instead. | |
2 | Ash | Seen throughout ![]() ![]() materials/effects/fleck_ash* and materials/effects/ember_swirling001 files from ep1_pak_dir.vpk and ship it with your game/map. |
|
3 | Snowfall | Seen in ![]() dod_colmar " |
|
4 | Particle Rain | (in all games since ![]() |
Seen in Left 4 Dead's "No Mercy" campaign, CS:GO map "de_aztec "Particle rain with slight mist and refraction. |
5 | Particle Ash | (in all games since ![]() |
Seen in in Left 4 Dead's "Dead Air" campaign. |
6 | Particle Rain Storm | (in all games since ![]() |
Seen in Left 4 Dead 2's "Hard Rain" and "The Passing" campaigns. 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. |
7 | Particle Snow | (in all games since ![]() |
Seen in ![]() ar_monastery " |
7 | Particle Bugs | (only in ![]() |
Seen in Left 4 Dead 2's "Swamp Fever" campaign. Particle flying bugs. In later games, this value is used by Particle Snow instead. |
8 | Particle Smoke | (only in ![]() |
Seen in Left 4 Dead 2's "Dead Center" campaign. Particle smoke with variable density. |

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. ![]() |
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. ![]() |

func_precipitation
brushes should not overlap func_smokevolume
brushes, as it can freeze the game. The exact cause of this is not clear.
