Orbit: Weather & Seasons BP

As of right now, the system uses mesh distance fields to form the culling areas. If you place a new object at runtime, it should update and mask out the rain/snow effect, as long as your object has Affect Distance Field Lighting ticked “true,” though I haven’t tried that yet, I can give it a go after work.

I’m going to be testing a different approach and potentially including it in a future update, one that’ll take advantage of scene depth instead of mesh distance fields, as 4.13 scene captures now support orthographic view, and using a scene texture gives more options for performance, such as having the options to bake culling areas rather than updating them constantly, or controlling how far away from the camera the culling areas are formed, for performance. Scene depth should be more accurate than my current mesh distance field approach as well.

The snow buildup is calculated in a material function that you can put into whatever surface material you’d like to accumulate snow on. You can take the “displacement” result pin from the function and plug it into either the world position offset node or the world displacement node. I set it up this way so that landscapes could use WPO instead of displacement, as tessellation was a huge performance hog on landscapes in 4.12, but 4.13 introduces some optimizations in the area so the choice ultimately boils down to whether or not you want to tessellate the mesh being displaced. The video shown in the trailer has no tessellation on the snow buildup, as the demo project it was recorded on was compiled in 4.12.

Let me know if you have any questions!

Cheers!