Search Unity

  1. Unity 6 Preview is now available. To find out what's new, have a look at our Unity 6 Preview blog post.
    Dismiss Notice
  2. Unity is excited to announce that we will be collaborating with TheXPlace for a summer game jam from June 13 - June 19. Learn more.
    Dismiss Notice

[RELEASED] Weatherade: Snow and Rain System

Discussion in 'Assets and Asset Store' started by NOT_Lonely, Feb 3, 2024.

  1. NOT_Lonely

    NOT_Lonely

    Joined:
    Feb 2, 2013
    Posts:
    548
    Hi everyone!
    I'm happy to announce that Weatherade: Snow and Rain System has been released at the Asset Store!
    Store link: https://assetstore.unity.com/packages/tools/utilities/weatherade-snow-and-rain-system-275622

    Weatherade system allows you to create snowy/rainy scenes in Unity using a set of shaders and tools that are finely tuned to work together.

    Built-in render pipeline and URP are supported now.
    HDRP in plans.

    Instead of a thousand words, just download playable demos: BiRP, URP
    -------------------------------------------------------------------------------------

    ▼Cinematic snow video (rendered in realtime)▼



    ▼Rain video (recorded from the playable demo)▼



    ▼URP snow/rain (captured in real time)


    -------------------------------------------------------------------------------------

    ▼The core features▼

    The Coverage Occlusion feature automatically generates a mask so objects located under roofs or canopies are not exposed to snow/rain.

    The Traces (or interactive deformation) feature allows you to interactively deform the snow cover. Any dynamic object can leave traces without time-consuming setup - just turn on one option and you're done.

    The GPU Particle System is finely tuned to create fairly dense snowfall or rain effects, with the ability to remove particles upon impact with surfaces. And all this with excellent performance.

    ▼On the screenshots below you can see the core features of the system▼

    01_SnowDeformation_DDT_normals.jpg

    02_AutomaticCoverageOcclusion.jpg 03_ParticlesOcclusion.jpg 04_GPU_Particles.jpg 07_Ripples.jpg

    Also, Weatherade comes with few additional tools, which can boost your workflow.
    -------------------------------------------------------------------------------------

    And here's the list of the most noticable features:

    • Snow Coverage shaders
    • Rain Coverage shaders
    • Terrain support
    Coverage Occlusion
    Snow Traces (deformable snow) with correct normals.
    Displacement
    • Custom Data-Driven Tessellation (supports terrain as well)
    • Snow subsurface scattering
    • Snow sparkle
    Batch Shader Swapper - a tool for the fast material conversion.
    Total Brush (lite)
    • Full demo scene from the playable demo is included (except the drivable car)...
    ...and much more.

    For more info you can look at the full online domumentation.

    Make sure to download the Playable Demo to see it in action.
     
    Last edited: Apr 18, 2024
    Hikiko66 and mgear like this.
  2. CEZO

    CEZO

    Joined:
    Aug 5, 2020
    Posts:
    4
    hi i insttalled it.. but is giving me shader error.. like the pipeline is not installed corrrectly.. im on 2021.3.32f1

    UPDATE !

    WORKS FINE NOW Not Lone just updated.. the ASSET.. works fine now with MAC.. it was CGINC .. stuff. shader related..tesselation..and some other things.. he really was quick and helpfull getting to work . thanks again . its very high grade graphics.

     
    Last edited: Feb 4, 2024
    alienorbit likes this.
  3. NOT_Lonely

    NOT_Lonely

    Joined:
    Feb 2, 2013
    Posts:
    548
    Hi,
    Are you on Windows platform? And is your project using the built-in render pipeline?
     
  4. khos

    khos

    Joined:
    May 10, 2016
    Posts:
    1,492
    Hi, are the particle effects included where the car lands from the jump?
     
    alienorbit likes this.
  5. NOT_Lonely

    NOT_Lonely

    Joined:
    Feb 2, 2013
    Posts:
    548
    This is the same effect that is used in the playable demo when you throwing the snow pieces by clicking LMB.
    It was used with the rectangular shape instead of sphere for the car landing shot.
    So yes, it's included.
     
    khos and Mark_01 like this.
  6. Desert-Tiger-Games

    Desert-Tiger-Games

    Joined:
    Sep 20, 2015
    Posts:
    26
    Hi, the asset looks great. I have one question about it. Does it works with orthographic perspective?
     
  7. NOT_Lonely

    NOT_Lonely

    Joined:
    Feb 2, 2013
    Posts:
    548
    Hi,
    Yes, orthographic cameras are supported.

    upload_2024-2-5_16-24-39.png
     
  8. NOT_Lonely

    NOT_Lonely

    Joined:
    Feb 2, 2013
    Posts:
    548
    Version 1.0.2 has been released:

    - Fixed snow tessellation on Metal (Mac OS)
    - Fixed rain ripples stochastic sampling on Metal (Mac OS)
    - Added drivable car from the playable demo with the basic car controller

    The original car used in the demo: https://skfb.ly/6UAKP
    It has a CC Attribution license so can be used commercially without any worries.
     
    Last edited: Feb 6, 2024
    alienorbit likes this.
  9. alienorbit

    alienorbit

    Joined:
    May 1, 2013
    Posts:
    58
  10. alienorbit

    alienorbit

    Joined:
    May 1, 2013
    Posts:
    58

    I am having difficulty on Apple M1 Mini (MacOS Sonoma), as well as a couple of issues on Windows. Which Mac do you have?
     
  11. alienorbit

    alienorbit

    Joined:
    May 1, 2013
    Posts:
    58
    Windows Error when loading and playing demo content (snow level): Unity 2022.3.19f1, Built-in 3D Core.

    A game object can only be in one layer. The layer needs to be in the range [0...31]
    UnityEngine.StackTraceUtility:ExtractStackTrace ()
    SRS_Tracer:SetupTracers () (at Assets/NOT_Lonely/Weatherade SRS/Scripts/SRS_Tracer.cs:50)
    SRS_Tracer:OnEnable () (at Assets/NOT_Lonely/Weatherade SRS/Scripts/SRS_Tracer.cs:16)


    Results in the pickup tires skipping around, and no tracks being built for the truck wheels. Tracks *are* built for the FPS character and the "snowball" when thrown.
     

    Attached Files:

  12. alienorbit

    alienorbit

    Joined:
    May 1, 2013
    Posts:
    58
    Missing Camera script, demo content (Rain Level): Unity 2022.3.19f1 (Windows), Built-in 3D Core

    The referenced script (Unknown) on this Behavior is missing!
     

    Attached Files:

  13. NOT_Lonely

    NOT_Lonely

    Joined:
    Feb 2, 2013
    Posts:
    548
    Are the problems still there or did they disappear with v1.0.2?

    Hi,

    To fix this, simply create a layer called "Dynamic".

    This happens because Unity has no an organic way to pass tags/layers to the packages or add them from code. This only possible using reflection, as I know. But this can be risky and can mess the user's tags/layers if user imports the package into an existing project.

    You can simply remove this missing script from the camera.
    This happened because I use the same scene for the playable demo build and for the downloadable content. But there's an additional component on the camera (Amplify Occlusion) which is used in the playable demo, and I can't provide it with the package.
     
  14. alienorbit

    alienorbit

    Joined:
    May 1, 2013
    Posts:
    58
    I haven't been able to check on MacOS again yet - will give you the specific errors later today. It's different to the other user.

    Ok, understood.

    I do have Amplify (and love all their products), but wasn't installed in that project. That answers my question thank you.
     
  15. alienorbit

    alienorbit

    Joined:
    May 1, 2013
    Posts:
    58
    I have added a layer named "Dynamic" (user slot 3), but still don't get tire tracks or proper wheel behavior. Everything else appears to be working fine, so I assume there is just something that isn't connecting. (Windows, 2022.3.19f1, Built-In) (I have re-downloaded and re-installed the demo material several times just to see if anything was missing.)

    I can also see that the SRS_Tracers are pointing to that layer, but still not working. Later I will just do a new setup from the ground up, but would like to have the demo working first, so my confidence is a bit higher. :) image_2024-02-06_144053881.png image_2024-02-06_144453141.png
     
  16. alienorbit

    alienorbit

    Joined:
    May 1, 2013
    Posts:
    58
    I noticed that some of what seem to be "important" layers, don't have ANY layer set - the Layer pulldown displays a null result. The footsteps and snowball still work, so maybe that has something to do with it - they are all set to the same non-existent layer, but the pickup controller is trying to hit "Dynamic"? image_2024-02-06_145048019.png
     
    NOT_Lonely likes this.
  17. NOT_Lonely

    NOT_Lonely

    Joined:
    Feb 2, 2013
    Posts:
    548
    Yes, it looks like it reffers to a wrong layer slot. Try to add the Dynamic to the User Layer 12.
    As I told before, Unity can't pass layers to the packages, so the layers originally used on my PC looks like empty fields, but once you "touch" the slots the will reset and the whole demo scene setup can fail. So it's better to create all the layers yourself and re-assign them to the objects. You can find more info in the online docs.

    And here's my layers inspector ▼

    upload_2024-2-6_13-4-25.png
     
  18. alienorbit

    alienorbit

    Joined:
    May 1, 2013
    Posts:
    58
    Excellent thank you - I am definitely going to dive into this more, and I am sure will have more questions. This is already something a few of us have been sort of waiting for for a long time, so I'm quite excited about getting a solid fast workflow down, as we'll be building a lot of scenes using this in the weeks to come.
     
    Last edited: Feb 6, 2024
    NOT_Lonely likes this.
  19. alienorbit

    alienorbit

    Joined:
    May 1, 2013
    Posts:
    58
    @NOT_Lonely : Good news - finally got the 1.0.2 update on MacOS as well as Windows.

    Even better, I was able to make a Tags & Layers Preset based your settings above. Loading it to a new project BEFORE installing Weatherade and BEFORE importing the demo content results in the layers mapping correctly at least as far as I can tell! The tracks work now on MacOS, I am sure it will work on Windows also, will test later.

    On MacOS, I am not getting the super nice detailed edges on the tracks, but maybe i have something slightly misconfigured, will test that later as well.
     

    Attached Files:

    NOT_Lonely likes this.
  20. NOT_Lonely

    NOT_Lonely

    Joined:
    Feb 2, 2013
    Posts:
    548
    Great that it works for you!
    Could you please show a screenshot of the tracks?
     
    alienorbit likes this.
  21. alienorbit

    alienorbit

    Joined:
    May 1, 2013
    Posts:
    58
    Maybe I am wrong. I do a lot of testing of video software for one of my clients across lots of different hardware and resolutions, so maybe I am just seeing differences in resolution. This is a portion of the 4k screen on MacOS. It felt "softer" than what I saw in the demo on Windows. Could be my mind playing tricks.
     

    Attached Files:

  22. alienorbit

    alienorbit

    Joined:
    May 1, 2013
    Posts:
    58
    ... it also feels to me that this is more detailed than what I was seeing earlier, and maybe some shaders "caught up" after a few reloads and test sessions? In any case, there is so much to love about these snow shaders you've done. Really spectacular. The icing on the cake.
     
    NOT_Lonely likes this.
  23. NOT_Lonely

    NOT_Lonely

    Joined:
    Feb 2, 2013
    Posts:
    548
    Hm, for me it looks the same as in the demo. Anyway, you can tweak it from the Trace Mask Generator component placed on the coverage instance, and from the coverage instance's Traces section.
     
    alienorbit likes this.
  24. alienorbit

    alienorbit

    Joined:
    May 1, 2013
    Posts:
    58
    I think you are right - it was definitely not as "crisp and crunchy" earlier in the day
     
    NOT_Lonely likes this.
  25. alienorbit

    alienorbit

    Joined:
    May 1, 2013
    Posts:
    58
    A couple of (non-critical) errors. MacOS - especially Monterey onwards - can be very picky about permissions, so I am sure that is what's happening, and probably wouldn't be an issue in a runtime build.


    upload_2024-2-7_13-54-48.png
     
  26. NOT_Lonely

    NOT_Lonely

    Joined:
    Feb 2, 2013
    Posts:
    548
    Is this happened when you press "C" to capture a screenshot? This feature was implemented for the Windows build, so people can quickly make screanshots to share :) So I think you can simply ignore this, because it's not related to the Weatherade system itself.
     
    alienorbit likes this.
  27. alienorbit

    alienorbit

    Joined:
    May 1, 2013
    Posts:
    58
    yes when press "C"
     
    NOT_Lonely likes this.
  28. NOT_Lonely

    NOT_Lonely

    Joined:
    Feb 2, 2013
    Posts:
    548
    I'm working on the URP version right now, and here's first successes in this matter.

    1. Basic snow already has a working coverage occlusion feature
    WeatheradeURP_coverageOcclusion.gif

    2. Sparkle effect is working too already
    WeatheradeURP_sparkle.gif

    3. GPU Particle System is almost fully functional
    WeatheradeURP_gpu_particles.gif
     
    alienorbit and khos like this.
  29. alienorbit

    alienorbit

    Joined:
    May 1, 2013
    Posts:
    58
    That is very good news, as I am desperate to get the Unity Photo Mode package working, but it requires URP!
     
  30. Nikovsk

    Nikovsk

    Joined:
    Mar 16, 2023
    Posts:
    15
    I don't know if it's my location, but your website link with the documentation never loads in my browser. Is it active?
     
  31. NOT_Lonely

    NOT_Lonely

    Joined:
    Feb 2, 2013
    Posts:
    548
    Yes, it works. You can try VPN. I will also add an offline docs later, but it's not as comfortable to use as the online.
     
    Nikovsk likes this.
  32. Nikovsk

    Nikovsk

    Joined:
    Mar 16, 2023
    Posts:
    15
    I noticed that for materials with transparency it doesn't work since they become opaque. Is there a way to use the shader for transparent materials, such as for trees/vegetation?
     
  33. NOT_Lonely

    NOT_Lonely

    Joined:
    Feb 2, 2013
    Posts:
    548
    The shaders support all types of transparency. What exactly not working? Could please show a screenshot?
     
  34. Nikovsk

    Nikovsk

    Joined:
    Mar 16, 2023
    Posts:
    15
    I'm using the rain shader. You can see how the trees become opaque, and one material turned white. These assets use special materials from this pack. The same happens for snow.

    weatheraderain.png
     
  35. NOT_Lonely

    NOT_Lonely

    Joined:
    Feb 2, 2013
    Posts:
    548
    Weatherade uses its own shaders to make the system work. So you have to use the Rain Coverage shader for your trees.
     
  36. Nikovsk

    Nikovsk

    Joined:
    Mar 16, 2023
    Posts:
    15
    Yes, this is the Rain Coverage shader applied. Without it looks normal. I assume it won't work then with this specific pack?
     
    Last edited: Feb 13, 2024
  37. NOT_Lonely

    NOT_Lonely

    Joined:
    Feb 2, 2013
    Posts:
    548
    If you already use the Weatherade shader for the trees and see this results, then it looks like the original shader on the trees has non standard-like properties mapping. For example, the main color texture is called "_MainTex" in the standard shader. Weatherade uses the same naming. You can manually re-assign the textures.
     
    Nikovsk likes this.
  38. MarcOrion

    MarcOrion

    Joined:
    Nov 27, 2014
    Posts:
    17
    Hey, this looks like a great asset. I do have a question: when you make the trails in the snow (Interactive deformable snow) is it possible to save that state so that it either persists or can be saved and loaded with the scene? Thanks
     
  39. NOT_Lonely

    NOT_Lonely

    Joined:
    Feb 2, 2013
    Posts:
    548
    Hi,
    Currently you can only keep the trails during the current scene session and only inside the coverage instance volume.
    Please, describe a bit more detailed what do you want to achieve with it, and I will think what I can do with it.
     
  40. MarcOrion

    MarcOrion

    Joined:
    Nov 27, 2014
    Posts:
    17
    I was thinking like in the case where you were making a scene and wanted to have a premade trail in the snow, to give the player the idea that someone had passed through already. or if player walks and makes trail and you want it to persist for a while, maybe even save the game and when loading it back the trail is still there. I hope that communicates what I am thinking for ideas. Also, are more than one coverage instance volume allowed in same scene?

    Thanks a lot for the quick respones!
     
    Last edited: Feb 15, 2024
  41. NOT_Lonely

    NOT_Lonely

    Joined:
    Feb 2, 2013
    Posts:
    548
    Okay, I got your idea. For now you can add traces using the Total Brush tool that comes with the package. However, these will be permanent traces and they will not have such a detailed look as the dynamic traces have.
    I will think about your idea, it's really interesting to have an ability to save the dynamic traces between the play sessions.
     
    alienorbit and MarcOrion like this.
  42. NOT_Lonely

    NOT_Lonely

    Joined:
    Feb 2, 2013
    Posts:
    548
    Hi everyone!
    Here's some more progress on the URP version.

    1. The Displacement and Traces features are functional already.

    URP_Traces.gif


    2. The Averaged Normals feature

    URP_AverageNormals.gif

    The Tessellation is next :)
     
    alienorbit, NicknameTaken and Chaiker like this.
  43. MarcOrion

    MarcOrion

    Joined:
    Nov 27, 2014
    Posts:
    17
    This is great to know. When I get the asset (waiting for URP) I will play around with that.

    I didnt intend to make a feature request, but if you do end up implementing something like this I think it will add a lot of value. But I dont know how difficult something like this is, so hopefully not too much. Thanks a lot for considering the idea!
     
    alienorbit and NOT_Lonely like this.
  44. NOT_Lonely

    NOT_Lonely

    Joined:
    Feb 2, 2013
    Posts:
    548
    A new v1.0.3 has been released.

    Fixes:
    - Critical bug on AMD GPUs with the GPU particles, when used 128 or 256 particles per axis
    - Missing energy conservation on metallic surfaces in Deferred rendering path
    - Problem with the messed SSS and Sparkle features in the materail UI (now you can toggle these options independently in both rendering paths)
    - Error "material doesn't have a color property '_Emission'", when switching to the Unity Standard shader from the Weatherade shader
    - Total Brush: NullReferenceException when opening and closing the tool without starting the painting process
    - Total Brush: Unity's transform tool reset to the View Tool if the Total Brush opened and closed without starting the painting

    Improvements:
    - When pressing the Open Total Brush button from the material UI, the tool window now opens with the appropriate mode (Mesh Vertices, Terrain Extra Mask) depending on the material type
    - GPU Particle System shaders now use Load function instead of Sample to read the simulation texures data. This improves stability and performance slighty.
     
    alienorbit and hopeful like this.
  45. NOT_Lonely

    NOT_Lonely

    Joined:
    Feb 2, 2013
    Posts:
    548
    Hi everyone!
    Most of the URP snow shader tasks are completed.
    Just implemented the data-driven tessellation feature.

    upload_2024-2-19_15-26-34.png

    Next step: add support for the Unity's terrain.
     
    alienorbit likes this.
  46. miinoy

    miinoy

    Joined:
    May 27, 2019
    Posts:
    22
    Looking incredible! I am super hyped to see this in URP/HDRP especially if the HDRP will support diffusion profiles.

    I sent an Email asking about URP and if it will have any issues working with deferred rendering. I had not seen that there was a forum here yet. BTW he said YES it will support Forward, Forward+ and deferred!



    This is another question but just curious if there is any point in the future where you think weatherade would work in conjunction with Microsplat or Jason booths shader stuff?

    I had been using microsplat and better lit shader for tessellated snow but was having performance issues and issues as well with the fact that it is using a second camera to render the Snow tracks buffer (weird incompatibility with custom URP render passes and probably not at fault of Microsplat).
     
    NOT_Lonely likes this.
  47. NOT_Lonely

    NOT_Lonely

    Joined:
    Feb 2, 2013
    Posts:
    548
    I'm not sure about it.

    I use the same approach for this moment, but I plan to implement an additional solution for this, which will have better performance, but will be a bit more complicated in setup.
     
  48. NOT_Lonely

    NOT_Lonely

    Joined:
    Feb 2, 2013
    Posts:
    548
    Hi guys!
    Almost all terrain features are now supported in the URP.

    Here's the per pixel normals in the instanced mode.

    upload_2024-2-23_16-22-11.png

    Next: the most painful part - the terrain tessellation =|
     
  49. miinoy

    miinoy

    Joined:
    May 27, 2019
    Posts:
    22
    This is looking incredible!

    Just out of curiosity, how much more work is it to port from URP to the planned HDRP?

    I know URP and HDRP are quite different but also with newer versions of unity they share the same render graph right? Also unity plans to make them more compatible with upcoming releases which would probably end up breaking a lot of stuff
     
  50. NOT_Lonely

    NOT_Lonely

    Joined:
    Feb 2, 2013
    Posts:
    548
    I don't know yet, but I'm sure it's much more complicated than URP.

    Yes, they wanted to merge both pipeline APIs. I don't know how things really are, since I haven't yet checked HDRP under the hood.
     
    miinoy likes this.