RTCW
Rain without FPS drown-backs tutorial
ver 1.0 - October 8, 2002

Based on tutorial by Fiesling in German language
www.fieslings-place.de
Translated, edited and html adapted by KoS

Files:
Orginal "Regen ohne FPS-Einbrüche" tutorial (German)
Rain *.tga, *.wav and shader files (shader include 5 rain simulations)
Rain PK3 files: rain1.zip
Download this tutorial with all additional files


When I decided to make nice looking rain in my RTCW level I started to surf the web for good help. Too my disappointment I found very little about it. Main reason is probably because rain is not used in official RTCW maps of first release.

I come across on bunch of info but they where eider MOHAA related or discussed use of rain texture under Quake III Arena sfx_textures (I don't have Quake III Arena). Then I stepped on Fiesling Place a German site where I found under RTCW tutorial section rain tut. Brief look on this tut and the shader structure has made me very interested.

Here is my best translation and comments of this tutorial based on my own experimentation with this interesting shader approach.

KoS
kos@vestlandet.com


Translation from German

One of the problems we have with Q3-Engine is those we always face in real world - in this case the rain! It seams we tent to not like it... except for our farmers! But now with Q3-Engine we can build it right into our maps.

So far in Q3-Engine rain was implemented always with simple shader with the cost of large quantity of Fps (engine Frames Per Second). This is why there where hardly build maps with rain.

However MODs like Urban Terror include the rain without compromising Fps. In the following I will explain, how one makes the rain in the way to not effect Fps engine power.

The concept of rain shader consists of 5 parts (or 5 individual shaders). Each Shader has its own falling speed and angle.

When you build the map make set of brushes for each raindrop (raindrop brush will release drops according to applied particular shader). Make them Nodraw texture and apply lower brush face with the rain texture of your choice - you have 5 to chose from!

Wow? The lower? Exactly! The shader arranges to downward fall of the texture (rain drops) also still beyond the Brush face! And therefore the only restriction of using this method is situated exactly here.

Example: If you will have underground bunker in your map, then it will rain there also. You must consider that before building your map.
A second thing to take to account, is shadows. You must overlap the rain-brush with the upper skybox, otherwise it can happen that rain will cast the shadows on your soil.

Here is the screenshot from the Radiant. The picture shows the upper/top Radiant view.



Each brush square is 4x4x4 unit large and has applied rain-brush of your individual choice as described above. You set those brushes randomly as you wish and apply any of the 5 different rain shaders to each brush also as you wish. This will simulate the rain to fall in natural pattern.

Here is the side view. You can see clearly that numerous rain brushes are "inside" of the top portion/ceiling of sky brush.

If you are not satisfy with degree rain is falling down you can readjust this in the rain shader.

The comments on the below screenshot explain the mode of shader operation. The shader can make also snowflakes.
For your customization you can reduce speed of falling rain and alter your texture out-dip.

The rain is finished.

On below screenshot rain doesn't appear very well, because the rain moves as the play goes.
Otherwise it is worth to try and insert this wonderful effect to your level.

End of German translation


Conclusion

I have made simple map using shader and brush method described above. I was very impressed by rain effect but I found that when rain brushes where placed to high the rain will not fall on the soil but will rain above my head. Without modifying shader script itself I have duplicated rain brushes. I have added sound and fog effect and rain was very good looking and feeling.

Here is pk3 file with complete rain map that I have made at the first time. Just place rain.pk3 file in your \main directory and from console write \spdevmap rain

KoS
kos@vestlandet.com
http://kos.nem3d.net