Hi,
I’m looking at getting weather effects happening in my scene (rain first, perhaps snow later on).
Ideally I’d like to get something akin to the rain effects in the Gears of War 2 level set in the pouring rain (dodgy pic of it, you need to see it in motion, really).
Requirements;
Can be turned on and off.
Allows world-space mapped textures to be applied to the entire scene (So I can have water splash on top of things and run down the side - via animated normal maps. Or snow to be applied to only the upwards-facing normals of everything).
Current thoughts on going about it;
Do everything in a post-process shader and work out the geometry’s world coordinates from the depth buffer (seems less expensive but far more complex).
Somehow add and remove shader passes to everything on screen (seems really expensive).
Have all shaders I use with this built into the pass and lerp it in via a global value (also seems really expensive - especially as it wouldn’t be needed).
Or is it possible to have a second camera render everything with a dedicated weather material and blend that back on top?
Has anyone tried something like this before, or any experienced shader programmers know which would be the most reliable and the cheapest way?
the link to the pic says forbidden
http://www.sixtimesnothing.com/unisky
You can buy this. It works rather well, actually.
The particle systems and the skybox is the easy bit.
It’s the visual effect on the world that I’m after. Animated normal maps across up-wards facing surfaces, and sideways facing surfaces.
those are significantly harder as you need quite some data to build such effects at all and they are costly to get, if possible at all.
there is a thread where someone had a working version of a wetness shader for example, but the requirements aren’t easy to take, we are talking about Crysis 2 requirements here pretty fast and easily in a game usable environment of the art quality where such eye candy makes sense at all, due to the required
Artwork and eye candy isn’t a problem, either. I’m a game artist by trade 
I found the thread you mentioned, I think I may purchase it and rip it apart to see how it’s done. My girlfriend’s laptop can run the demo of that in the web browser, so the requirements can’t be that high.
Hah, just bought it and man do I feel cheated.
It’s just a bunch of planes and particle effects explicitly set up for everything in the scene. Nothing procedural or automated about it. Well there’s £20 I won’t see again 

So I’ve got this far over lunch time using a second camera and an additive blending replacement shader and animated normal maps, so there’s ripples form raindrops on the top and streaks of water running down slopes.
Using the textures from that rubbish rain system (might as well get some use out of it).
Need to sort out tangents, still (as the UVs are generated based on world position)… but it’s a good start, I feel. Cheap enough to render, too, by the looks of it.
Not taking the shadows into account is a bit lame. Why are you against using appropriate shaders to do this when objects are rendered the first time around?
Having the effect in all of my shaders all the time, even if the visual effect is turned off, is just going to end up being way more expensive than I need it to be.
I’d like to vary the effect the shader has, and if it’s turned to 0, then I can just disable the rendering of the second camera altogether.
Shadows aren’t in yet - it’s just a proof of concept I knocked up over my lunch break.

Got the tangent basis fixed.
Ended up sticking it in a UsePass of my regular shader and using an if statement to control it’s effect.
Having some issues with the ForwardAdd pass, though - it doesn’t like the same if statement that’s in the ForwardBase… no idea why.
Excuse my crappy rock texture and model - was rushed out to give me something to test the effect on.
Check out my solution for water/rain on surfaces.
http://forum.unity3d.com/threads/78751-Rainscapes-Coming-Soon!
Hope its of some help.
ahhh… looks like it already was of some help.
I’m sorry you weren’t happy with your purchase, you could always request a refund, but I would appreciate if you don’t use the animated textures I created in that case. I used planes appended to other surfaces because not all surfaces in a raining environment would be slick enough for water to run across them, not to mention using projectors or custom shaders for EVERY single object in a scene would kill performance and limit one’s shader options. You should have contacted me before purchasing, I would have sold you the textures alone at a discount and described the technique I used, which was documented in my thread! To date I have had no refunds, and only positive reviews, so I’m dismayed that you are unhappy. Best of luck in automating the rain-scene construction process!
No worries, dude. I just thought it did something that it didn’t and the web player demo managed to convince me it did exactly what I was after 
I just yesterday got my rain shader working, with the normal maps applied based on world-space positions. I’m running as a replacement shader on things I’ve tagged as being “rainable”.
Are you still using the second camera/alpha blending? Ingenious solution, how is the performance? I would love to see your effect in motion!
Yeah, running a second camera that just blends the effect on top depending on whether it’s raining or not.
Performance takes a fair hit as it’s rendering everything twice, but if I take out the grabpass for refraction, it’s more than manageable.
The only issue is that rendering it as a replacement shader on a second camera means that it doesn’t have shadows or multiple lights
Mist be a limitation of replacement shaders.
Working on a way to swap out dhader definitions at run-time, that way I can reference it in as passes, but I don’t think that’ll be possible in the end…
At Download music festival at the moment, I’ll try and get a video up when I get back, though 