Using the Brute Force - Snow & Ice shader you can paint the vertex color of your assets to dynamically draw snow or ice.
The default value and state of the shader is snow.
With that in mind let's see in details what each vertex color channel does:
-White: Renders Snow
-Red: Renders Ice
-Green: Renders Snow without displacement
-Blue: Renders Ice without interactive effects
How to paint Vertex Color on your mesh
I strongly recommend you download the Polybrush Asset from the Package manager (see documentation). It's an official Unity asset that lets you draw colors on vertex. You can also use your favorite 3D software to draw vertex color and it will work fine.
For the rest of this page I will assume you are using the Polybrush asset.
Open the Polybrush Window by going to: Tools > Polybrush > Polybrush Window
You will have this window opened:
The tab that interests us is the "Paint vertex colors on meshes" click on that.
You can see there is a "Outer Radius" value that controls the radius of the brush size and a Color Paint Settings at the bottom.
You can choose which color you want to paint by clicking the big color field below color mask.
When choosing between White, Red, Green or Blue colors make sure it is the absolute color; meaning white is fully white (1,1,1) and red is fully red (1,0,0). Again, tead the polybrush documentation for more details.
Select red color:
Now click on the mesh you want to paint on with the snow & ice material already placed, you can start painting ice:
This is what you are actually doing by painting:
Keep in mind you need a certain number of vertices to have a higher effect definition, here's a good guideline:
Finally when you are happy with your mesh make sure the "Apply As" is set to Overwrite Mesh
When importing a custom mesh inside Unity and you want to use the PlayerSnowball featured in the demo scene you are required to enable Read/write in the import settings of said mesh.
Now that you've downloaded and installed Polybrush: