I have searched everywhere and can't find an answer on how to add snow to a plant. What I am looking for is to add snow to something like this tree. enter image description here

I have the snow texture done, but I just need to figure out how to add the snow mesh on the tree.

  • $\begingroup$ are you going to use a high-detailed tree mesh as in the reference above, or something much simpler? $\endgroup$
    – m.ardito
    Nov 26, 2017 at 17:25
  • $\begingroup$ Yes, I will be using very high-detailed trees and bushes, like the one in the picture. $\endgroup$
    – Tucker
    Nov 26, 2017 at 22:42
  • $\begingroup$ I thought about how to do this, and came up with a possible manual way, but with the high detail needed, it could be a really hard work... $\endgroup$
    – m.ardito
    Nov 27, 2017 at 10:16
  • $\begingroup$ I would love to hear any ideas you have $\endgroup$
    – Tucker
    Nov 27, 2017 at 17:13

3 Answers 3


I'll give it a shot, although this is pretty basic! If it works, great, but you'll have to play around with it for complex trees etc. (This is an enhancement/refinement of an idea by Sardi Pax.)

EDIT: works just fine with curve object trees as well as meshes . . . see the very bottom for additional info.

curve object tree

snowy tree

Duplicate your tree mesh (in place) and give the duplicate your snow material. But, you'll add some stuff to the snow material so it only shows more or less upward-facing faces.

snow material

The gist is to create a mix factor between your snow shader and a transparent shader. The mix factor takes the "Normal" output from the Geometry node, separates it into XYZ components via a "Separate RGB" node, then tests the B value (facing Z axis) and keeps it as long as it's slightly greater than zero. Then the backfacing surfaces are removed, otherwise you get the undersides of the downward-facing faces.

Then move the snow mesh up on the Z axis just a bit--enough so the snow is sitting on top of your branches to the depth you require.

Finally, to give the snow a more irregular/natural look, you can displace the snow mesh with a noise texture, e.g. a cloud texture. You'll need to tweak it so the displacement looks the way you want. I used a "Displace" modifier after a subsurf, using a displacement texture of type "Clouds". I found that displacement along the Z axis of the "Local" texture coordinates was better than displacing along normals. My midlevel was quite low (.2) and strength also low (.1).

displace modifier settings

cloud texture settings

If it's going to be viewed from a distance this may be unnecessary.

EDIT: haha, the displacement has some kinks to work out, you can see some sky between the snow and the branch on the right hand side of the render. You'll have to tweak the displacment values if you want to use them - it may be preferable to displace from the object normals, but then you run into other kinds of oddities. I don't see gaps like that when I turn the displacement off and maybe that's good enough for your purposes.

EDIT 2: what is now the top image uses a more complex curve tree object that was not converted to a mesh. The snow material concept works here, although I had to change the Z-value factor to "Greater than 0.3" to remove snow from some of the not vertical but still fairly steep trunk angles on this different type of tree. As far as I know the displace modifier cannot be used with curve objects, but there may be another solution if adding texture noise is desired.


If i understood the question with the help of this Addon You can make snow in quick time.

Select the object

Adjust the thickness and click create snow

enter image description here

Watch this gif how it works link

A small render how it looks enter image description here

  • 1
    $\begingroup$ Will It add snow to the branches and leaves without crashing it? I have used the addon before and it will crash easily when used for high details. $\endgroup$
    – Tucker
    Nov 26, 2017 at 5:08
  • $\begingroup$ @Tucker yes it will add on branches as shown in the reference gif $\endgroup$
    – atek
    Nov 26, 2017 at 11:05
  • 2
    $\begingroup$ You have low-poly branches though. There are physical surfaces on your trees to put the snow on. My branches do not. I don't know how I would add snow to it. $\endgroup$
    – Tucker
    Nov 26, 2017 at 15:25

Your tree has no leaves so this might work: in object mode go to top orthographic view select your mesh and go into weight paint and paint on your mesh this represents where the snow will be placed then name your weight in vertex groups to something meaningful(Not that necessary though) then add particles modifier to your mesh and in particle editor select your weight painted vertex group in density then in another layer create a snow mesh by adding a sphere and deforming it a bit then create multiple duplicate's of that snow mesh (At-least 3) then edit each snow mesh so that it looks bit different then select all these snow meshes and hold ctrl then press g to create a group then name your group and be sure to create a snow material and assign it to all your snow meshes then go to your first layer then change your particles to hair from emitter and select your group below which will replace hair by your snow mesh then randomize its size and distribution and this must give some realistic snow on your tree mesh (If you don't understand anything then just ask me or search for a tutorial I'm sure you will get relative tutorial online)


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .