Snow Global Surface Settings

Properties in this category allow you to customize scene surfaces globally, meaning changing any property here will affect the entire scene unless the object's materials use a property override.

Enable Coverage

Enables coverage in materials that use Weatherade shaders. If disabled, then the shaders will act like Unity Standard shader.

Basic Settings

Paintable Coverage

This option enables the ability to edit the automatically generated coverage occlusion mask. Vertex colors are used for regular MeshRenderers, and Terrains use an additional texture-mask. Both can be painted with Total Brush which is included in the package.

On Built-in / single-texture setups, only the R channel is used for the occlusion mask. On URP, when Three Textures is enabled, G, B, A select coverage layers (see below).

Three Textures

Material toggle that blends up to three different coverage textures. It requires Paintable Coverage to be enabled; otherwise the option is unavailable.

On the material, enabling Three Textures reveals Layer 0, Layer 1, Layer 2 foldouts under Basic Settings, Displacement, Traces, and Sparkle/SSS. On the Snow Coverage Instance, those layer foldouts are always visible so you can author global layer look even before enabling the material toggle.

Layer masks

Paint layers with Total Brush:

  • G — Layer 0
  • B — Layer 1
  • A — Layer 2

Meshes use vertex colors; terrains use the extra painted mask texture (same channel layout in YZW / GBA terms).

Use Average Normals

If this option is enabled, the shader will use an additional set of normals stored in the UV4 channel. This helps eliminate mesh “cracks” when using displacement and improves the coverage on meshes with split normals.

Average normals comparison
Average normals comparison

Generate these normals by selecting an object in the scene and clicking the “Average Normals” button in its material UI, or go to the Total Brush window and click the same button there.

Coverage Texture

Texture which is used to build the snow coverage surface. With Three Textures (URP), each Layer 0 / 1 / 2 has its own Coverage Texture and related fields.

It uses a specific channel mapping:

  • Normals - R G - adds pseudo-relief details to the snow.
  • Height - B - used for the displacement feature and as a snow surface mask on the coverage transitions, to make them more organic.
  • Smoothness - A - used for the snow surface glossiness. Can be also reused for the Sparkle effect.

Stochastic Sampling

Enables stochastic sampling that eliminates visible tiling artifacts. This option has a performance overhead because the texture fetch operation is performed 3 times instead of 1.

Stochastic sampling comparison
Stochastic sampling comparison

Amount

Amount of the coverage applied to the surface.

Color

Color of the coverage.

Normal Scale

Bumpiness of the coverage. The R and G channels of the Coverage Texture are used to construct normals.

Height Contrast

The contrast of the coverage height, when using the Displacement feature. For this purpose, the B channel of the Coverage Texture is used.

Emission Masking

Masks the base surface emission effect by the coverage.

Emission masking
Emission masking

Coverage Normals Overlay

Forces to overlay coverage normals over the base surface normals even when Displacement is disabled. This value is a linear interpolation between the base normal map and the coverage normal map.

Tiling

The uniform tiling value of the Coverage Texture. Per-layer tiling is available under each Layer foldout when using URP multi-layer coverage.

Smoothness

Per-layer smoothness range that remaps the Coverage Texture A channel.

Triplanar Blend Hardness

Blend hardness between the triplanar projections of the coverage.

DETAIL MAP

Optional detail mapping applied on top of the coverage surface.

Detail

Enables detail mapping on the coverage.

Detail Texture

Texture used for detail mapping:

  • Normals — R G
  • Smoothness — B

Tiling

Tiling of the Detail Texture.

Remap

Remaps texture values used for smoothness / color enhance.

Normal Scale

Normal scale of the details.

Distance

Distance from the camera where the details fade out.

AREA MASK

Area mask settings allow you to control how the coverage occlusion will look. All parameters here are related to each other.

Mask Range

Range of the coverage mask values. A value of 1 means the transitions between the coverage and base surfaces are as soft and wide as possible.

Bias

The bias of the coverage area.

This property is needed for two things:

  • Fix the coverage banding and Z-clipping artifacts
  • Shrink/expand the coverage occlusion mask in conjunction with the Mask Range.

Internally it works similar to the shadow bias property on the Unity light sources.

Area mask bias
Area mask bias

Leak Reduction

Reducing coverage leaks at the cost of increasing mask hardness.

Direction Offset

The linear offset from the original direction of the coverage instance. Values below 0 will create a stronger direction-dependent coverage mask, and values greater 0 can help add more coverage on the opposite side of the direction of the coverage instance. Internally it just adds this value to the coverage direction mask.

On the examples below the coverage instance transform direction is set straight down:

Direction offset
Direction offset

Direction Range

Shrink/expand the coverage direction mask gradient. You can make the direction mask more hard lowering the range.

TESSELLATION

Improves the appearance of a surface when using the Displacement feature by subdividing the mesh triangles.

Weatherade implements the Edge Length tessellation method with some specific additions, that improves performance:

  • View frustum culling (useful for large meshes such as terrain)
  • Mask tessellation by snowdrift slopes
  • Data-driven tessellation factor (works with Traces feature)

Example of the data-driven tessellation in action:

Tessellation
Tessellation

Edge Length

Maximum screen-space length of the edge. Edges longer than this value will be subdivided.

Snow Factor

Multiplier for the overall snow surface tessellation.

Snowdrift Range

Range of mask that used to increase the tessellation factor on snowdrift slopes.

Frustum Culling Offset

Maximum distance from camera's clip planes on which tessellation should not be applied.

Weatherade tessellation uses Frustum Culling to improve performance on large meshes by appling tessellation only for visible triangles. When Displacement is used you should increase this value to compensate the displacement and prevent mesh clipping. The higher the Coverage Displacement value, the larger this value should be. This can be especially noticable on a terrain mesh.

Frustum culling offset
Frustum culling offset

DISPLACEMENT

This feature allows you to raise the vertices of the mesh by the coverage mask, creating realistic snowdrifts.

On URP, Displacement exposes Layer 0, Layer 1, Layer 2 foldouts (Height Contrast, Heigthmap LOD, Coverage Displacement per layer) plus a shared Offset. On Built-in, settings are single-layer.

Height Contrast

Contrast of the coverage height map used for displacement (per layer on URP).

Heigthmap LOD

Height map MIP level. Use higher values to reduce noisy displacement.

Coverage Displacement

The amount of displacement added to the mesh vertices. It depends on the Coverage Texture B channel, as it's used as a height map and multiplied by this value.

Offset

Offsets the black point of the coverage mask gradients. This useful to prevent unnecessary displacement on some not-covered areas. Shared across layers on URP.

See how the snowdrift's displacement starts too early and lifts the base surface when the Offset is too small:

Displacement offset
Displacement offset

TRACES

Enables interactive traces on the snow coverage.

Interactive traces
Interactive traces

If you haven't already added the Trace Mask Generator component, you will be prompted to do so. Click the “Add Now” button.

Add Trace Mask Generator
Add Trace Mask Generator

On URP, Traces settings are split into Layer 0, 1, 2 (Base/Snow, Color, Range, Normal Scale) with a shared Use Detail Texture block. On Built-in, traces use a single set of properties.

Base/Snow

Per-layer blend factor between the base surface and coverage inside traces.

Color

Multiplier color of the generated traces. You can use it to simulate greater depth or ambient occlusion effects within a trace. If the color is set to white it will have no effect as it is internally multiplied by the coverage color.

Blend

Factor of the linear blend between the coverage color and Color.

Range

Range of the trace mask, used for the color Blend. You can shrink this range to get sharper mask.

Normal Scale

The normal scale of the generated traces.

Use Detail Texture

Determines whether traces will use the global Detail Texture.

Detail Texture

The global texture, that used to add details to the generated traces.

It uses a specific channel mapping:

  • Normals - R G
  • Height - B

Tiling

The uniform tiling of the Detail Texture.

Normal Scale

The normal scale of the details.

Detail Intensity

The intensity of the detail displacement, applied to the generated traces.

BLEND BY NORMALS

Tweaking properties here can help make coverage transitions more organic.

Blend by normals
Blend by normals

Strength

The amount of base surface normal map influence on the coverage transitions blending. Consider this like the well-known height blending technique, but without the need to provide an additional height map, since Weatherade simulates this using a normal map.

Power

Power of the normal map blending. This just raises the faked height map to a math power.

DISTANCE FADE

This feature allows you to eliminate the tiling artifacts on terrains by blending between original textures and LOD textures with lower tiling values.

Start Distance

The distance from camera at which the baked LOD texture starts to appear.

Falloff

The size of the fading gradient for the original/LOD texture. The higher the value, the softer the blend will be.

SPARKLE AND SSS

Sparkle effect adds these little shinny dots on the surface, which improves the snow appearens. SSS (SubSurface Scattering) simulates light penetration into the surface and exiting from different point.

On materials, Sparkle/SSS are on/off toggles only; the full parameter set lives on the Coverage Instance (and can be overridden per material with the checkbox to the left of a property).

On URP, after the shared Sparkle/SSS controls, each Layer 0, 1, 2 foldout exposes Highlight Brightness, SSS Remap, and Color Enhance Remap.

SSS

Enables subsurface scattering effect on the snow.

Intensity

Intensity of the subsurface scattering effect.

Sparkle

Enables sparkle effect on the snow surface.

Sparkle effect
Sparkle effect

Mask

Optional black and white texture which R channel is used as a sparkle effect mask. If no texture is provided, the alpha channel of the main coverage texture can be used.

Amount

Amount of snow sparkle effect. This value depends on the Mask texture.

Brightness

Brightness of the snow sparkle effect.

Distance Falloff

Maximum draw distance of the sparkle effect. Decrease this value to prevent unwanted noise and artifacts on far distances.

Local-Space Mask Source

Source for the sparkle mask which will be used in the object local space.

LS Tiling

Uniform tiling of the local space mask.

Screen-Space Mask Source

Source for the sparkle mask which will be used in the screen space.

SS Tiling

Tiling of the screen-space mask.

Highlight Mask Expansion

Expansion of the highlight mask, that is used to show the sparkle effect only on highlights from the lights sources.

Lightmap Mask Power

Power of the lightmap mask. Values greater than 0 prevent the Sparkle and SSS effect in dark areas, when baked lighting is used.

Highlight Brightness

Per-layer brightness of the highlight mask used by Sparkle/SSS.

SSS Remap

Per-layer remap of the SSS mask values.

Color Enhance Remap

Per-layer remap of the color enhance mask (Coverage Texture A, plus Detail Texture B when DETAIL MAP is used).

URP material extras

Weatherade URP materials are based on URP Lit and expose extra Unity surface options that are not part of the coverage system itself:

  • Detail Inputs — Mask, Base Map, Normal Map (standard URP Lit detail maps for the base surface).
  • On terrain materials: Enable Height-based Blend / Height Transition, and Enable Per-pixel Normal.