How to do it...

To create a snowy effect, open your shader and make the following changes:

  1. Replace the properties of the shader with the following ones:
_Color("Main Color", Color) = (1.0,1.0,1.0,1.0)_MainTex("Base (RGB)", 2D) = "white" {}_Bump("Bump", 2D) = "bump" {}_Snow("Level of snow", Range(1, -1)) = 1_SnowColor("Color of snow", Color) = (1.0,1.0,1.0,1.0)_SnowDirection("Direction of snow", Vector) = (0,1,0)_SnowDepth("Depth of snow", Range(0,1)) = 0
  1. Complete them with their relative variables:
sampler2D _MainTex;sampler2D _Bump;float _Snow;float4 _SnowColor;float4 _Color;float4 _SnowDirection;float _SnowDepth;
  1. Replace the Input structure with the following one:
struct Input {  float2 uv_MainTex;  float2 uv_Bump; float3 worldNormal; ...

Get Unity 2018 Shaders and Effects Cookbook now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.