# Procedural Snow That Just Works on Any Mesh in Blender

Source: https://www.youtube.com/watch?v=bC6sZfUGEn0
Recap page: https://rapidrecap.app/video/bC6sZfUGEn0
Generated: 2025-11-14T21:06:44.129+00:00

---
## Quick Overview

The video demonstrates a procedural snow material setup in Blender that works on any mesh without requiring UV unwrapping, utilizing geometry nodes to calculate snow accumulation based on surface normals (angle) and curvature (concavity) for realistic, physically consistent results that can be animated through seasons.

**Key Points:**
- The procedural snow shader works on any mesh without needing UV unwrapping because it relies on geometry node calculations based on surface normal angle and curvature.
- Snow accumulation is determined by the angle of the surface relative to the up-axis (Z-axis), where surfaces facing upward (0 degrees) receive snow, and surfaces facing downward (90 degrees) do not.
- The 'Snowline Gradient' slider controls the transition width between 100% snow and no snow, allowing for sharp or gradual snow lines.
- The 'Snow Concavity' control uses the curvature signal (derived from the height map) to push snow into crevices (negative values) or keep it off sharp ridges (positive values).
- The material setup is fully procedural, using only surface normals and curvature, meaning it supports animation (like snow melting/accumulating over time) without popping.
- The final result at 60 degrees maximum angle shows most top half surfaces covered in snow, while the lower, steeper, or concave areas remain exposed rock/dirt.
- The system is plug-and-play, respecting existing detail layers like rock texture or particles without requiring them to be baked into the snow mask.

![Screenshot at 0:00: The initial demonstration of the final procedural snow material applied to an irregular rock-like mesh, showing snow accumulation primarily on the top and flatter surfaces, with exposed rock/dirt below.](https://ss.rapidrecap.app/screens/bC6sZfUGEn0/00-00-00.png)

**Context:** This video serves as a technical tutorial demonstrating a complex procedural material setup within Blender, specifically focusing on creating realistic snow accumulation on arbitrary 3D geometry using Geometry Nodes. The core concept is to dynamically generate a snow mask based on physical properties of the mesh (slope angle and concavity) rather than relying on traditional texture mapping techniques like UVs, ensuring the effect adapts seamlessly to any object shape.

## Detailed Analysis

The creator presents a procedural snow material in Blender built using Geometry Nodes that achieves non-UV-dependent snow coverage. The foundation of the effect is calculating the surface angle relative to the world's up-axis (Z-axis): surfaces angled between 0 and 90 degrees receive snow, with 0 degrees being fully covered and 90 degrees being bare. This angle calculation is processed through a Map Range node, converting the angle in degrees (0 to 90) into a 0 to 1 range for use as a mask factor. The 'Snowline Gradient' slider controls the width of this transition band. A second crucial element is the 'Snow Concavity' control, which uses the curvature derived from the geometry's height map to either add snow to concave areas (negative bias) or remove snow from convex areas/ridges (positive bias), simulating wind packing or natural settling. These controls are exposed as readable, unit-based sliders (degrees for angle, smooth step width for gradient). Because the mask relies on world-space geometry calculations (normal and curvature), the material is plug-and-play and supports animation, allowing the snow layer to naturally melt or accumulate when the object is keyframed without popping artifacts. The system respects existing material detail layers like rock texture or particle systems.

### Material Core Concept

- Snow sticks to surfaces facing up (0 degrees angle) and slides off steep surfaces (90 degrees angle)
- The system uses surface normal angle relative to the Up-Axis (Z) for primary masking.

### Snowline Gradient Control

- Controls the width of the transition band between 100% snow and no snow
- Small values create a sharp edge, large values create a soft, natural fade.

### Snow Concavity Control

- Uses curvature derived from the height map to affect snow placement in crevices
- Negative values push snow into pockets (wind packing), positive values clear snow from ridges.

### Animation and Usability

- The setup is plug-and-play on any mesh, ignoring UVs
- The angle and gradient values are readable units (degrees, width) and can be keyframed to simulate seasonal changes without popping.

### Demonstration States

- At 0 degrees max angle, the entire object is snow-covered; at 90 degrees, no snow remains
- At 45 degrees, only broad, shallow slopes retain snow, while steep faces are bare.

![Screenshot at 0:00: Initial preview of the final snow-covered rock material showcasing realistic snow distribution on top surfaces.](https://ss.rapidrecap.app/screens/bC6sZfUGEn0/00-00-00.png)
![Screenshot at 0:17: Introduction screen titled 'How it works' explaining the calculation uses geometry nodes for snow placement.](https://ss.rapidrecap.app/screens/bC6sZfUGEn0/00-00-17.png)
![Screenshot at 0:21: Demonstration on a simple sphere showing the core concept: snow sticks to upward-facing surfaces and slides off steep ones.](https://ss.rapidrecap.app/screens/bC6sZfUGEn0/00-00-21.png)
![Screenshot at 0:32: Close-up on the Geometry Node setup showing the Dot Product calculation between the surface normal and the world Up-Vector \(Z\) to determine angle.](https://ss.rapidrecap.app/screens/bC6sZfUGEn0/00-00-32.png)
![Screenshot at 0:41: Demonstration of the effect on the rock mesh using a high max angle \(90 degrees\), resulting in only the very top being covered.](https://ss.rapidrecap.app/screens/bC6sZfUGEn0/00-00-41.png)
![Screenshot at 1:16: The video transitions to explaining the 'Snowline Gradient' control, showing how the transition width affects the boundary sharpness.](https://ss.rapidrecap.app/screens/bC6sZfUGEn0/00-01-16.png)
![Screenshot at 1:51: Introduction to the 'Snow Concavity' section, demonstrating snow filling in crevices based on the curvature signal.](https://ss.rapidrecap.app/screens/bC6sZfUGEn0/00-01-51.png)
![Screenshot at 2:28: Showing the 'Snow Concavity' control in action by setting the bias to a negative value, filling in pits and crevices with snow.](https://ss.rapidrecap.app/screens/bC6sZfUGEn0/00-02-28.png)
![Screenshot at 2:41: Demonstration of animating the max angle from 20 degrees \(dusting\) to 55 degrees \(mid-winter\) to simulate seasonal change.](https://ss.rapidrecap.app/screens/bC6sZfUGEn0/00-02-41.png)
![Screenshot at 4:28: Final shot showing the node graph structure, emphasizing that the system relies on world-space data \(normal/curvature\) rather than UVs.](https://ss.rapidrecap.app/screens/bC6sZfUGEn0/00-04-28.png)
