Pick up the crowbar of research scientist Gordon Freeman, who finds himself on an alien-infested Earth being picked to the bone, its resources depleted, its populace dwindling. Freeman is thrust into the unenviable role of rescuing the world from the wrong he unleashed back at Black Mesa. And a lot of people, people he cares about, are counting on him.

Post tutorial Report RSS Adding Precipitation

Learn how to add rain, snow, or falling ash into your Half-Life 2 map.

Posted by on - Intermediate Mapping/Technical

In this tutorial, you will use brush based entities to add precipitation to your map, either rain, snow, or falling ash. This is a relatively simple process, but this tutorial assumes intermediate skill in Hammer.

Create a basic map of any size.
Tutorial Image
Using brushes, create a simple structure in the center of the map. This will be a shelter from the precipitation.
Tutorial Image
Next, create a brush textured with “tools/toolsinvisible” covering the entire top half of the map, stopping at the roof of the structure. (A skybox wall in the picture is cut away)
Tutorial Image
Using the clip tool, section off the brush and drag the portions down so that the invisible brush covers the entire map, except for underneath the structure.
Tutorial Image
Tutorial Image
Tutorial Image
It may look awkward, but it’s ok if the brushes overlap a bit.
Tutorial Image

Control+click to select all of the invisible brushes and tie them (control+T) to a func_precipitation entity.
Tutorial Image
They will now become boxes in which the precipitation will fall. It’s important to note that the precipitation will not fall FROM the boxes, it will fall IN the boxes. Select which kind of precipitation you want under the “Precipitation Type” box.

With all of the brushes still selected, make them hollow with Control+H and enter 2 as how thick you want the walls. Remember, it’s ok if they overlap.

Add an “info_player_start” and test the map.
Tutorial Image
If you’re doing snow or ash, you’re finished. If you’re doing rain, you’re almost done. The last thing to do is add an ambient sound, because it looks a bit strange to see rain and not hear it.

Create an “ambient_generic” somewhere on the map. Name it “RainSound”, and select the “Play Everywhere” flag. All other flags should be unchecked. You also have to set the “Sound Name” property. I like ambient/levels/canals/dam_water_loop2.wav for heavy rain, but you can choose a different sound if you want.
Tutorial Image

You’re done! Precipitation is a great mood setter when used sparingly. I’d recommend using an “env_fog_controller” for heavy rain to make it look a bit better.

For questions or feedback, you can email (hambandito@gmail.com) or PM me.

Post comment Comments
Varsity
Varsity - - 1,044 comments

A soundscape is far more useful than an ambient_generic, unless your map is entirely outdoors and the rain sound never changes.

I don't understand why you hollow the brushes? You'd want rainfall in the middle of the brush too! :)

Reply Good karma Bad karma+2 votes
Psalm Author
Psalm - - 32 comments

It's just always worked better for me that way. Even if the brushes are hollowed, the precipitation still falls inside the box.
Yes, a soundscape would be better, but they are much more complicated.

Reply Good karma+3 votes
Khorps
Khorps - - 95 comments

used a soundscape to add random thunder, it's really moody that way, thanks for the tut

Reply Good karma Bad karma+1 vote
UltraElite
UltraElite - - 2 comments

Hi,
i was wondering how did you get the grass on the floor of the map?
If its an Entity could you tell me which one and which type of grass you used.
Thanks

Reply Good karma Bad karma+1 vote
Psalm Author
Psalm - - 32 comments

The grass sprites come with many of the grass textures, but they only show up when you run the map. I've used nature/blenddirtgrass001.

Reply Good karma+1 vote
UltraElite
UltraElite - - 2 comments

Thanks Psalm.

Reply Good karma Bad karma+1 vote
mctusk
mctusk - - 12 comments

Nice Tut!

Reply Good karma Bad karma+1 vote
Null-Entity
Null-Entity - - 367 comments

Ok I must be a complete noob but I couldnt get it to work.. I even simplified it..

Hollow box level, player start point,box for precipitation with invisible texture and CTRL+T precipitation to it.. I have an empty box level with nothing but me in it :S

Reply Good karma Bad karma+1 vote
madmatt667
madmatt667 - - 3 comments

I cant get it to work either. I tie it to func_precipitation change any of the settings and click apply. BUT when I try and hollow the brush it disappears??! Also I am getting a bmodel 2 has no head node error. Any ideas whats going wrong?
Still a great tut tho mate :)

Reply Good karma Bad karma+1 vote
madmatt667
madmatt667 - - 3 comments

Nvm, I got it. I had to leave out the hollowing part of your tut cus it jus wasnt working for me. I textured the brushes/entities wrong. Works fine now!
Noob mistake lol

Reply Good karma Bad karma+1 vote
xenbiosis
xenbiosis - - 7 comments

Thanks!

Reply Good karma Bad karma+1 vote
Themodderofmods
Themodderofmods - - 57 comments

Thanks man!

Reply Good karma Bad karma+1 vote
GisleAune
GisleAune - - 37 comments

thank you so much.

Reply Good karma Bad karma+1 vote
Post a comment

Your comment will be anonymous unless you join the community. Or sign in with your social account: