Can anyone give me suggestions on how to create this effect in the video below
It’s “simple” - you create all 4 material variations for every object and drive the relevant parameters like leaf texture, grass height, snow overlay etc. via a Material Parameter Collection which you modify via a BP. Note that in the scene shown there’s more than just materials - the icicles and leaves flying around are all done in a different manner, but they’re all still driven by the same parameter.
DamirH has the right idea.
I can give some more specifics using the leaves themselves as an example. In that video, it looks like they simply blurred the opacity mask for the leaf texture (probably in photoshop, not in the material itself) and used a subtract node with a scalar parameter before plugging the alpha into the opacity mask input. If there are any branches on the texture, you need to make sure the leaves never reach full 1.0 brightness, and that the branches are all at 1.0 brightness. Then you simply never let your subtracted value get large enough to affect the branches.
Then you just drive the scalar parameter over time (either using actual time * speed, or using a timeline). That creates the effect that leaves are shrinking over time. I would have done that a bit differently, where instead of using a blurry mask of leaves, each leaf gets a random grey value from ~0.33 to ~0.9… then when you do the subtract. The difference with this method, is that instead of shrinking the leaves during winter, leaves would get removed one leaf at a time from the shader until only branches remain. Then it can feel more like the random shedding of leaves.
fwiw, I played with this technique for an “Epic Friday” back in 2012, although mostly from a landscape perspective:
The main thing I was testing with this project was using one mask to add to the snow, then another mask to subtract from the show which creates the appearance of melting along erosion lines (erosion mask generated in worldmachine).