The annual Unite event stands as a testament to the unity within the development community,…
One-click cinematic snow effects for Unity
There’re a few ways to produce snowy environments. At first you would think of using ad-hoc prefabs and materials with the snow integrated in the texture maps. Maybe these materials use a custom snow shader that can add some flexibility such as different snow coverage based on the season. The problem with this approach is that you need to use the same materials for all of your objects in the scene to obtain an homogeneous look. This can be problematic if you use third-party models which often comes with custom materials and shaders and probably won’t look fine when changing them.
Another common issue with snow materials is that they can’t react to physics or coverage properly. For example, imagine you have a rock under a tree. The amount of snow on top of the rock should be limited or inexistent because the tree blocks the snow from falling down. But how can a simple material or shader know that? As a result, objects using snow materials often require individual adjustments which is time consuming.
Global Snow solves all these issues.
Firstly, Global Snow integrates into the deferred rendering pipeline and modifies colors, normals and specular buffers (g-buffers) of any object dynamically every frame based on lots of customizable settings. It doesn’t require you to use custom shaders. It just works with your existing scene!
Because it works with the g-buffers, Global Snow performance is independent of scene complexity rendering the snow in a single full screen pass.
Secondly, Global Snows takes care of coverage automatically, detects ceilings, closed areas and allows you to define the height range and areas where snow can fall. It even provides an interactive snow painter tool that works in Scene View!
But wait, there’s more. Global Snow comes with automatic foot prints, snow tracks (ie. wheels), marks (impacts), snow fall and camera frost effects.
Take a look at the screenshots below, the first one it’s a point of view from our scene without the Global Snow added to it, and we wanted to make a snowish effect for this scene. To do so, we just added the script to the main camera of our scene and changed some values that we considered would look great for this project in particular. The second screenshot shows how with the click of few buttons we made a normal environment switch to a snowed one:
Now, same scene with Global Snow effect applied to it:
The best part of this asset is that you literally don’t have to spend days or weeks editing premade materials to get this look, in fact, it didn’t take more than 5 minutes to take this scene from normal to snowed look.
Check out the video below for a more detailed look of Global Snow interface and features: