Control Snow Placement
beginner tasksGlobal Snow & Rain 3 · Common Tasks
Global Snow covers the opaque surfaces of the scene that are open to the sky. This guide shows how to keep the snow off some places and objects, or how to limit it to a few of them. Each case links to the options it uses in Parameters.
| You want | Use |
|---|---|
| No snow under a roof, a porch or a bridge | Keep its layer in the Zenithal Mask. Set Cull Mode to Both Faces if the roof is single sided, and turn on Block Snow/Rain if it has Global Snow Ignore Coverage. |
| No snow inside rooms with thin walls | Coverage Margin. |
| No snow under a car or a table, or inside a cabin | Global Snow Ignore Coverage with Block Snow/Rain and Precise. |
| An object that never gets snow but keeps the ground below bare | Take its layer out of the Layer Mask, or add Global Snow Ignore Coverage with Block Snow/Rain on. |
| An object that neither gets snow nor blocks it | Global Snow Ignore Coverage with its default options. |
| A character or a vehicle | Take the scene snow off it as above and give it the Moving Object Snow shader. |
| A tree placed as an object that does not leave bare ground under it | Put the trees on their own layer and take that layer out of the Zenithal Mask, so they still get snow on top. For a single tree, add Global Snow Ignore Coverage with Receive Snow on and Block Snow/Rain off. |
| Grass or bushes placed as objects with snow on their leaves and on the ground under them | Vegetation Layers. |
| Snow on a few objects only | Layer Mask set to Nothing, and Global Snow Ignore Coverage with Receive Snow on those objects. |
| Areas without snow, such as a path, a yard or a road | Coverage Mask painted with the Mask Editor, or its Object Snower for the shape of a road mesh. |
| No snow below a height, or under lakes and the sea | Minimum Altitude. |
Remove Snow Under Roofs and Inside Buildings
Global Snow sees the scene from above to find what is under cover. Roofs keep the snow, the rain and the puddles off what is below them, and the snowfall and the snow dust do not fall under them.
- In the Coverage foldout, keep Use Zenithal Coverage on. It is on by default.
- Check that the layer of the roof is in the Zenithal Mask, under Use Zenithal Coverage.
- If the roof is a single sided mesh, set Cull Mode to Both Faces.
- If the roof has the
Global Snow Ignore Coveragecomponent, enable Block Snow/Rain in it. - If very thin walls let a little snow into a room, raise Coverage Margin under Use Zenithal Coverage. About 0.7 m keeps the snow out of rooms with very thin walls under a low roof, but it also leaves a bare strip at the foot of thick walls.
- For an area without a roof, remove the snow with the Coverage Mask (see Remove Snow from Roads and Areas), or place one of the hole prefabs,
QuadHoleorCircularHoleinGlobalSnow/Runtime/Resources/GlobalSnow/Prefabs, and resize it to your building. - To see what blocks the snow, turn on Show Coverage Depth in the Coverage foldout.
To remove everything at once when the player goes inside, disable the Global Snow component, or set Snow, Intensity and Puddles to 0 in the Weather block. To blend into another weather inside an area, see Local Weather Areas. For more details, see Use Zenithal Coverage in Parameters.
Remove Snow Under Vehicles and Furniture
A parked car, a table or a bench can leave a bare area under it, also in the Snow Accumulation.
- Add the
Global Snow Ignore Coveragecomponent to the object. - Turn on Block Snow/Rain, then Precise under it. No snow, rain wetness or puddles show under or inside the object, and the Snow Accumulation slopes down to its outline.
- For car windows, turn on Include Transparents so the whiteout covers them. With Block Snow/Rain and Precise on, they also get the rain. The rain on them needs Running Drops on.
- The component takes the snow off the object itself. To keep snow on its top, as on a table or a bench, also turn on Receive Snow.
See Per-Object Exclusion for every option of the component.
Exclude Characters, Props and Effects
Global Snow does not tell static objects from moving ones, so the snow on a moving character or vehicle can slide as it animates. Take the scene snow off these objects.
- For a group of objects, put them on their own layer and take that layer out of the Layer Mask in the Coverage foldout, then press Refresh. Objects on layers outside the Layer Mask get no snow, but they still block the snow below them.
- For a single object, add the
Global Snow Ignore Coveragecomponent to it. It takes the snow off the object and its children. With Block Snow/Rain off, its default, the object does not block the snow below it either. - For a vehicle you drive, keep Block Snow/Rain off and turn on Include Transparents, so its windows fade in the whiteout like the rest of the vehicle.
- For particle systems and small moving objects, also take their layer out of the Zenithal Mask, so they do not leave bare spots on the ground.
- To show snow that stays in place on a character or a vehicle as it moves, give it a material with the
GlobalSnow/Moving Object Snow/Opaqueshader. It has its own snow tint, coverage, scale, scatter and slope options. - Check the result in the Game View, since the exclusions can look wrong in the Scene View.
For objects created while the game runs, see Objects created at runtime still get snow. For objects with vertex animation, see Exclusion borders show artifacts.
Trees Placed as Objects
Trees painted on a Unity terrain never block the snow, so the ground under them gets full snow. Trees placed as GameObjects block it like a roof, so the ground under a dense tree stays bare.
- To get snow under them, put the trees on their own layer and take that layer out of the Zenithal Mask. The trees still get snow on top.
- For a single tree, add
Global Snow Ignore Coveragewith Receive Snow on and Block Snow/Rain off.
For snow on the leaves, see Add Snow to Vegetation.
Add Snow to Selected Objects Only
- In the Coverage foldout, set Layer Mask to Nothing and press Refresh. No object or terrain gets snow.
- Add the
Global Snow Ignore Coveragecomponent to each object that must get snow, and turn on Receive Snow. The object and its children get snow.
The terrain grass, the plants with the Global Snow Vegetation node and the Snow Dust follow the terrains, so they get no snow while no terrain gets it.
Remove Snow from Roads and Areas
The Coverage Mask is a texture over the world: white means full snow and black means no snow. On the Snow Accumulation, gray makes the snow thinner, so a soft brush leaves a slope down to the ground.
- In the Coverage foldout, turn on Coverage Mask. Assign a texture in Texture (R), or turn on Enable Mask Editor and press Create New Mask Texture to create one filled with snow.
- Set World Center and World Size so the mask covers the area. Usually the mask matches the terrain.
- To paint by hand, turn on Enable Mask Editor, keep Brush Mode on Remove Snow, then click and drag in the Scene View over objects that have colliders. Hold Shift to add snow. The Mask Editor only works in Edit mode.
- To clear a road, a path or a yard with the shape of its mesh, select its Mesh Renderer in Object Snower, set its Opacity to 1 and press Clear Snow. Padding widens the cleared area.
- To keep the snow only inside one area, set World Center and World Size to that area and turn off Fill Outside Mask. The area outside the mask then gets no snow.
To change the mask from a script, see How do I change the coverage mask from a script? The mask only shapes the snow and the snow dust. For the rain and the puddles, see How do I keep the rain and the puddles off an open area? For every option, see Mask Editor and Coverage Mask Editor.
Set the Snow Altitude and Water Level
- In the Coverage foldout, set Minimum Altitude. There is no snow below this world height. Default -100.
- Set Altitude Range for a soft snow line: above Minimum Altitude, the snow appears in growing patches over this height in meters.
- In scenes with lakes or the sea, set Minimum Altitude just above the water surface and Altitude Range between 1 and 2 m. The ground under the water gets no snow, and a strip of bare ground stays at the edge of the water.
See Minimum Altitude in Parameters.
What Gets Snow and What Blocks It
Two things decide the snow on a surface: whether the surface can get snow, and whether something above it blocks the snow. The objects that block the snow also keep the rain and the puddles off the surfaces below them.
Trees and grass painted on a Unity terrain never block the snow, so the ground under them gets full snow. Only separate opaque objects block it, such as trees and rocks placed as objects, buildings, porches, bridges or vehicles. Transparent materials do not block it, except on objects with Precise.
These options choose which surfaces get snow:
| Option | What it does | Use it for |
|---|---|---|
| Layer Mask | Objects and terrains on layers outside it get no snow. Those objects still block the snow below them. | Whole groups of objects without snow, such as characters or effects. |
| Global Snow Ignore Coverage | Added to an object, it takes the snow off the object and its children. With Receive Snow on, the object gets snow even when its layer is outside the Layer Mask. See Per-Object Exclusion. | Single objects that need another rule than the one of their layer. |
| Coverage Mask | A texture over the world where black removes the snow and gray leaves less of it. Paint it in the Scene View with the Mask Editor, or clear the shape of a mesh with its Object Snower. Rain and puddles do not follow it. | Paths, roads, yards or any area that must stay clear. |
| Minimum Altitude | No snow below this world height. | A snow line on mountains, or bare ground under lakes and the sea. |
| Slope Options > Threshold | Surfaces steeper than this get no snow. | More or less snow on walls, cliffs and steep roofs. |
| Receivers | Only the objects in this list, under Snow Accumulation in Snow Appearance, get the snow piled up with its Thickness. The other surfaces get the snow look without depth. See Receivers. | Ground, roads and roofs where the snow piles up and takes Deep Marks. |
| Vegetation Layers | Grass and plants placed as objects on these layers get snow on their leaves and a snowy base. See Plants Placed as Objects. | Grass and bush packs whose leaves get no snow. |
| Add Snow To Terrain Grass | Snow on the grass painted on Unity terrains. | Terrain grass. |
| Add Snow To Forward Opaques | Snow on opaque objects whose shader draws only in the forward pass. | Leaves or objects that get no snow because of their shader. |
These options choose what blocks the snow below:
| Option | What it does | Use it for |
|---|---|---|
| Use Zenithal Coverage | Turns on the capture from above, so objects keep the snow off the surfaces below them. Default on. | Ground under roofs, porches, bridges and trees placed as objects. |
| Zenithal Mask | Layers that take part in the capture from above. Objects on other layers can still get snow, but they do not block it. The Ignore Raycast layer never takes part. | Trees placed as objects that should not leave bare ground, particles and small moving objects. |
| Global Snow Ignore Coverage > Block Snow/Rain | Off by default, so an object with the component does not block the snow. Turn it on so the object blocks it, as long as its layer is in the Zenithal Mask. | Covers that get no snow themselves but keep the ground below bare. |
| Block Snow/Rain > Precise | A fine capture near the camera keeps the snow and the rain from falling under or inside the object, and the Snow Accumulation slopes down to its outline. | Cars, tables, benches or a cabin with an open door. |
| Receivers | While the Snow Accumulation is on, a mesh in the list also blocks the snow below it as Precise does, unless it has its own Global Snow Ignore Coverage. | Roofs in the list keep the ground under them bare with nothing else to set. |
| Vegetation Layers | Objects on these layers do not block the snow, so the ground under them gets its snow. | Grass and bushes placed as objects. |
| Cull Mode | Both Faces also captures the back faces of single sided meshes. | Single sided roofs that let the snow through. |
| Coverage Margin | Keeps the snow a little farther from walls and other covers. | Thin walls that let some snow into rooms. |
| Coverage Extension | Size of the area around the camera where objects block the snow. Outside it, the snow falls as if under open sky. | Large views where far roofs must keep the ground below bare. |
| Coverage Update | When the capture from above is taken again. After you move or add objects that block the snow by script, call UpdateSnowCoverage(), unless it is Every Frame. | Covers that move or appear at runtime. |
To see what blocks the snow, turn on Show Coverage Depth in the Coverage foldout: it shows the heights seen from above, lighter for higher surfaces. To see which surfaces carry the Snow Accumulation, turn on Show Receivers under Show Mesh in Snow Accumulation.
Next Steps
- Add Snow to Vegetation - snow on grass, plants and trees.
- Parameters - every Coverage option.
- Troubleshooting - snow where it should not be, or no snow where it should be.
Suggest an improvement
Help us improve this documentation page.