Additional Topics
intermediate conceptsGlobal Snow & Rain 3 · Core Concepts
Snow Layer & Deep Marks
The Thickness option in Snow Appearance turns the snow into a layer over the ground. The layer buries what rests in it, and Deep Marks dig into it as deep as it goes. With Thickness at 0 there is no layer, and only Footprints and Collision Marks mark the snow.
Deep Marks work in Play mode. Enable them in Footprints & Marks > Deep Marks. These objects dig marks:
- Characters and other objects with the
Global Snow Interactioncomponent (see Global Snow Interaction). They mark any ground, roof or object they rest on, with nothing needed on the surface. A Rigidbody without the component leaves no marks. - Vehicles with wheel colliders and the
Global Snow Interactioncomponent. - Objects added by script with
AddContactSource()(see Scripting Support).
How deep an object sinks is its Sink Depth in Global Snow Interaction: 1 reaches the ground, a light object barely dents the snow. Objects added with AddContactSource() sink to its sinkDepth, 65% of the layer by default. Where the snow left under a mark is thinner than the Dirt Floor, the dirt shows through (Dirt Reveal). The marks fill back in after the Common Duration. Where there is no deep mark, Footprints and Collision Marks keep marking the snow.
Global Snow Interaction
The Global Snow Interaction component sets how an object interacts with the snow: how deep it sinks, whether it bursts snow and ripples the puddles, how its collider marks the snow and, for characters, the footprint under each foot, exactly where it lands, with independent left and right prints. Add it to the root of the character or object with Add Component > Effects > Global Snow Interaction. On a physics object, add it to the GameObject that has the Rigidbody. Disable the component and the object leaves no marks, footprints, snow bursts or ripples.
| Parameter | Description |
|---|---|
| Sink Depth | Share of the snow layer the object sinks into. 1 reaches the ground and always reveals the dirt, a bird barely marks the snow. Range 0 to 1. Default 0.65. |
| Plow Mode | The marks are as wide as the bounds of the object and reach the ground. Use it for vehicles and blades that push the snow away. Default off. |
| Impact FX | Snow burst particles when the object hits the snow. Default on. |
| Ripples | Ripples on the puddles the object touches. Default on. |
| Surface Marks > Mark Size | Size of the Collision Marks of this collider. Default 0.25. |
| Surface Marks > Collision Distance | Distance the object must move before it leaves a new mark. Default 0.1. |
| Surface Marks > Separate Stamps | Each collision leaves a single round stamp instead of a continuous trail, with no snow particles. Default off. |
| Surface Marks > Step Max Distance | Maximum length of a trail segment between two positions. Set it to 0 to leave marks only at the contact points. Default 20. |
| Surface Marks > Rotation Threshold | Rotation in degrees that triggers a new mark. Default 3. |
| Feet > Footprints | Draws the sole footprint at each foot plant. The Footprints option of Global Snow must also be enabled. Default on. |
| Feet > Sole Texture | Sole of this character. Empty uses the Footprints texture of Global Snow. |
| Feet > Feet (skeleton bones) | Bones that move with each foot, such as the feet or paws of the rig, not the GameObjects of the shoes or the colliders. On humanoid rigs, Detect Feet fills them from the Animator. On other rigs, Detect Feet looks for bones named foot, paw or hoof. You can also drag the foot or paw bones here: even entries are left feet, odd entries are right feet. |
| Feet > Detect Feet | Button that detects the feet again: the foot bones of a humanoid Animator, else the bones named foot, paw or hoof. |
On a vehicle, the contact of each wheel collider with the ground leaves a mark every frame, and Deep Marks when they are on. The component also registers the object for Deep Marks, emits Impact FX when it hits the snow, and ripples the puddles it touches when Contact Ripples is on. Objects with feet leave their footprints, not Collision Marks from their colliders. To test it in your own scene, use GameObject > 3D Object > Global Snow > Demo Snow Walker. It adds a robot that walks in circles with this component.
First Person Footprints
For a first person camera, set First Person > Mode in Surface Marks. The camera (or the Ray Origin) leaves one sole per step on alternate sides. Character Controller mode stamps steps while the assigned Character Controller is grounded. Ray Cast mode checks the ground with a ray down from the origin, up to Max Ground Distance.
Collision Marks
Collision Marks are drawn where objects with a Rigidbody and the Global Snow Interaction component touch the snow: the ground, a roof, a rock or any other object below them. Nothing is needed on the surface, and terrains need no setup. Only the contacts below the object count, so walls and objects resting on top leave no marks. A Rigidbody without the component leaves no Collision Marks.
To change how an object marks the snow, add Global Snow Interaction to it and use its Surface Marks options: mark size, separate stamps, the distance and rotation that trigger a new mark, and Plow Mode for vehicles and blades (see Global Snow Interaction). Wheel colliders also need the component: the contact of each wheel with the ground leaves a mark every frame. Disable the component to make Global Snow ignore the collider.
Moving Objects (Characters, Vehicles)
Global Snow does not tell static objects from moving ones. Snow on a moving character or vehicle can slide as it animates. Follow these steps to handle them:
Step 1 - Exclude the Moving Object
Remove the scene snow from the object:
- Remove its layer from the Layer Mask in the Coverage foldout, or
- Add the
Global Snow Ignore Coveragecomponent to the GameObject.
Step 2 - Use a Snow Material (Optional)
To show snow that stays in place on the object as it moves, use a material with the GlobalSnow/Moving Object Snow/Opaque shader. It has its own snow tint, coverage, scale, scatter and slope options.
Step 3 - Vehicle Tracks (Optional)
For vehicles, add Global Snow Interaction to the vehicle. The contact of its wheel colliders leaves Collision Marks, and Deep Marks when they are on. Enable Plow Mode for vehicles and blades that push the snow away.
Per-Object Exclusion (Global Snow Ignore Coverage)
Add this component to any GameObject for finer control over the snow. It affects the object and all its children.
| Option | Description |
|---|---|
| Block Snow | When enabled, the object keeps snow off the surfaces below it in the top-down capture (shelters, roofs, bridges). When disabled (default), it is left out of the capture, so it does not block snow below it. |
| Receive Snow | When enabled, the object receives snow even if its layer is not in the Layer Mask. When disabled (default), the object gets no snow. |
| Use Fast Mask Shader | Shown when Receive Snow is off. Uses a fast shader to exclude the object. Disable it for objects with vertex animation or displacement, so the exclusion follows the deformed mesh. Default on. |
| Exclusion Cut Off | Shown with Use Fast Mask Shader. Alpha threshold for semi transparent objects. Range 0 to 1. |
Global Snow Ignore Coverage with Receive Snow disabled.
Exclusion Options Compared
| Option | Scope | Use Case |
|---|---|---|
| Layer Mask | Whole layers | Keep snow off categories of objects (characters, effects). |
| Zenithal Mask | Whole layers | Leave layers out of the top-down capture, so they do not block snow below them (particles, small moving objects). |
| Coverage Mask | World area (texture) | Paint snow on or off in zones, paths or regions. It also removes rain wetness and puddles. |
| Global Snow Ignore Coverage | Per object | Exclude or force include single objects, whatever their layer. |
| Default Exclusion Layer | Internal | Layer used internally for exclusions. It must be a layer that no object uses (default 27). |
Coverage Mask Editor
The Coverage Mask uses a texture to choose where snow appears: white = full snow, black = no snow. Global Snow reads the red channel of the texture.
Inspector Setup
| Parameter | Description |
|---|---|
| Coverage Mask | Enable it and assign the mask in Texture (R). Click Fix Texture Import Settings if the inspector warns about them. |
| World Center | World position of the mask center. |
| World Size | Area covered by the mask in world units. Usually it matches the terrain size. |
| Fill Outside Mask | When enabled, the area outside the mask gets full snow. |
Scene View Mask Editor
Turn on Enable Mask Editor in the Coverage foldout, then click and drag over the scene to paint. The brush needs colliders under the mouse.
- Create New Mask Texture - creates a mask asset of the chosen Resolution (256 to 8192), filled with snow.
- Brush Mode - add or remove snow.
- Width / Fuzziness / Opacity - brush radius in world units, solid or spray brush, and stroke opacity.
- Fill Mask - fills the whole mask with snow.
- Clear Mask - removes all the snow from the area of the mask.
- Object Snower - adds or removes snow over the area of a Mesh Renderer.
Profiles
A Global Snow Profile stores snow and rain settings so you can reuse them. Click Create next to the Profile field to make one from the current settings, or use Create > Global Snow Profile in the Project window. Assigning a profile applies its settings. Revert loads the settings from the profile and Apply saves the current settings into it.
A profile stores the weather amounts and most coverage, appearance, snowfall, frost and rain settings. Footprints and marks (except Dirt Reveal and Compaction, which the profile stores), the snow layer Thickness, the wind source and gustiness, the extra snowfall and snow dust look options, the exclusion options and the debug tools stay on the Global Snow component.
Transition Between Profiles
For smooth changes between two weather setups, use the Global Snow Lerp component:
- Add the Global Snow Lerp component to any GameObject.
- Assign Profile 1 and Profile 2 with different settings.
- Move the Transition slider (0 = Profile 1, 1 = Profile 2) to blend between them.
| Parameter | Description |
|---|---|
| Target Global Snow | Global Snow component to change. If empty, it uses GlobalSnow.instance. |
| Transition | Blend factor: 0 = Profile 1, 1 = Profile 2. Options that cannot blend, like toggles and textures, switch at 0.5. |
| Left Key / Right Key | Keys that move the transition at runtime. |
| Key Speed | Speed of the transition while a key is held. Default 1. |
| Profile 1 / Profile 2 | The two profiles to blend. |
Coverage Update Methods
The top-down coverage capture can be updated in several modes (Coverage Update in the Coverage foldout):
| Method | When to Use |
|---|---|
| Every Frame | Scenes where large moving objects must change the snow coverage below them in real time. |
| Discrete | Most scenes. Captures again after the camera moves 50 meters. This is the default. |
| Manual | Static scenes. Call UpdateSnowCoverage() from a script when needed. |
| Disabled | No new captures. Footprints and Collision Marks may not render correctly in this mode. |
Comparing With and Without Snow
Enable Compare in the Tools & Debug foldout to split the view with a line: one side shows the scene without Global Snow. Change the Line Angle and Line Width as needed. With Same Side, both sides show the same part of the scene, because a copy of the game camera renders it without Global Snow. Turn Compare off when you are done, since Same Side renders the scene twice.
Next Steps
- Rain & Water - rain, wetness, puddles and running drops.
- Scripting Support (C#) - runtime API for weather, marks, mask painting and snow queries.
- Troubleshooting - solutions to common issues.
Suggest an improvement
Help us improve this documentation page.