Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

[RELEASED] ❄️Screen Space Snow ❄️

Discussion in 'Assets and Asset Store' started by DavidArppe, Jan 20, 2018.

  1. DavidArppe

    DavidArppe

    Joined:
    Sep 17, 2015
    Posts:
    41
    Have you ever wanted to winterize your game? Sure, you can swap every material for a snow-covered or icy variant. This can be tedious. Don't you wish there was a way of adding snow to your scene, with just 1 effect?

    https://assetstore.unity.com/packages/vfx/shaders/screen-space-snow-106001

    This is my solution to that problem, and I'm sharing it with you all! The screen space snow effect lets you control snow in your scene, at a very large scale. It works using the deferred rendering path.



    You can control how the snow looks, and behaves with your scene. Control the snow material, by using different textures to control the snow (using the same BRDFs using uses for Physically Based Rendering). Normal maps and textures get projected onto your scene, without the need for any secondary UV maps on your objects.

    You can also occlude snow, by tagging objects that it shouldn't affect. You can customize the snow to
    • Excluding skinned mesh renderers
    • Exclude paths, or hot surfaces, which might not have a lot of snow
    • Exclude an entire volume! Turn off snow inside your buildings or under objects


    The snow effect works great with other snow effects too. If you have an icicle shader, it should seamlessly integrate with it. This is because the snow is applied after your scene is rendered, so your custom Surface Shaders still work!

    If you don't have an icicle shader, it's fine. This effect ships with a simple shader to help illustrate that snow works with all other shaders:



    Check it out, feel free to ask me any questions. Suggestions are appreciated, I've put it on the store for you, so let me know what interests you! This is my second iteration of this effect, and it now works with all unity lights, without any surprises. Please check it out on the store for a list of things it can and can't do.

    Thanks for your continued support and interest!
    - David
     
    Arkade, Mauri, Jaimi and 2 others like this.
  2. LennartJohansen

    LennartJohansen

    Joined:
    Dec 1, 2014
    Posts:
    2,394
    This looks good :)

    How does the exclude work? Is there any way to exclude objects drawn with the Graphics.DrawMesh/DrawMeshInstanced API?

    Lennart
     
  3. DavidArppe

    DavidArppe

    Joined:
    Sep 17, 2015
    Posts:
    41
    Exclude works in the command buffers set up for the effect. There's a simple buffer that you can feel free to write in to. It's used to control the effect, with enough precision for a falloff gradient too! So it sounds like you know your way around, and can definitely draw into this buffer from that API. The only issue with it being, I am not sure exactly when the DrawMesh/DrawMeshInstanced API actually draws. It's just queued to render if I'm not mistaken. The command buffers draw excluded meshes before the reflections in the deferred rendering pipeline. So you might have better luck with a command buffer at the same location. Command buffers can DrawMesh and DrawMeshInstanced as well!

    David
     
  4. LennartJohansen

    LennartJohansen

    Joined:
    Dec 1, 2014
    Posts:
    2,394
    Good, that sounds like it would work. :)

    Do you have an override shader that should be used when rendering to the buffer?
     
  5. DavidArppe

    DavidArppe

    Joined:
    Sep 17, 2015
    Posts:
    41
    I have a standalone occlusion shader, with multiple passes. The first pass is used for the cube volumes, the second one for spherical volumes, and the third pass is used with custom renderers. So using a material with this shader, and pass #3 should do the trick :)

    The first two passes are used for this effect:
    snowOccluder.PNG

    And the 3rd pass I mentioned is used for occlusion (what you want)

    SnowExclusion.PNG
     
  6. AleksZotov

    AleksZotov

    Joined:
    Nov 3, 2014
    Posts:
    3
    Hi David. Cool work!
    1) Shader icicles included in the package? Or where i can find it?
    2) What is different from "Global Snow" pack?
    3) How much less FPS?
    4) It's worked in PC build and webGl?
     
  7. DavidArppe

    DavidArppe

    Joined:
    Sep 17, 2015
    Posts:
    41
    Hey Aleks,

    Wow I never even saw the Global Snow pack, I thought I did my research but, I guess I missed it. From what I can see, it looks like their snow is using a harsh cutoff. Maybe this can be adjusted in their settings, but in my snow effect, it's always a nice realistic blend :) Kronnects shader also doesn't work with mobile so, I assume it's also using deferred rendering. Meaning we both have similar limitations.

    With my snow, there is the same options for occlusion, but also occlusion volumes. These volumes can have feathering, and can also add snow to a scene. I recently uploaded a video showcasing some of this, and I am finishing up a demo-reel flythrough :) I have a new version of the asset that I will upload tonight. It works with WebGL, PC, and I tested it with Oculus rift and HTC vive as well.

    The frame rates are tricky. I am not an expert in profiling, but from running the game with and without snow for about ten minutes, I didn't see any drops in frame rate. I will explore this further. I have a GTX 970 with a small overclock on it right now. I will do some more profiling and make sure to add it to this thread.

    The shader icicles are inside the package :) They aren't the highlight, but maybe I will clean them up for a different asset. It's there to show how snow can work with any shader!

    Here's a simple tutorial video I made with the new version of the snow I will upload, so you can see the workflow and customization options,
     
    AleksZotov likes this.
  8. DavidArppe

    DavidArppe

    Joined:
    Sep 17, 2015
    Posts:
    41
    I've updated the package on the asset store to be the newest version, with all the features in the above video included.


    Here's a simple demo reel I made with the effect, showing a night and day scene to show off lighting.
     
    AleksZotov likes this.
  9. one_one

    one_one

    Joined:
    May 20, 2013
    Posts:
    621
    How many ms does the effect take on your GTX 970?
     
  10. DavidArppe

    DavidArppe

    Joined:
    Sep 17, 2015
    Posts:
    41
    I ran the profiler with the exact same scene from the video above:

    The scene took 4.29ms for everything in total. This is with a resolution of 1920x1080.

    The first part of my effect is in a command buffer, set to execute before the G buffer. This appears as 0ms (it just clears the snow coverage buffer, so that's to be expected)

    The main effect is in a command buffer set to execute before reflections. I chose this spot because, the depth buffer is resolved at this point in time. It executed in 0.13ms. Whatever value you see on your GPU, shouldn't scale with the complexity of any scene you're rendering. This is because it's a screen space effect.

    If you don't use textured snow, you will have faster snow. For the profiling I did above, I had all of the advanced texture settings: Triplanar projection mapping, Tiling fix turned on, Normal maps, Albedo, and Specular lookup texture. Without any texturing, the scene rendered in 0.11ms.

    * I did have a lot of spikes when this scene was rendering, but none of the spikes were caused by the snow, and it stayed surprisingly consistent throughout everything. The spikes were still present with snow turned off.
     
  11. one_one

    one_one

    Joined:
    May 20, 2013
    Posts:
    621
    That's quite cheap. What impact do the exclusion volumes have? And would it also be possible to have a control texture for e. g. the terrain?
     
  12. Ecocide

    Ecocide

    Joined:
    Aug 4, 2011
    Posts:
    293
    Hi David,

    does it work with multiple camera setups?
     
  13. DavidArppe

    DavidArppe

    Joined:
    Sep 17, 2015
    Posts:
    41
    For just the terrain, it's not difficult to add a control texture. But this support isn't written directly in. The two ways to limit snow on a surface as it stands are with volumes, or entire renderers. You can control the level of snow with these methods, but it's not driven by a texture.

    For the impact of exclusion volumes, it's very small. With a 400 cube volumes in a 20x20 array, each was 10x10x10 meters, and the camera was positioned so it drew each one. The performance went from 0.11ms to 0.37ms. The math behind the occlusion volumes is very simple and fast, using analytical distance fields. It's also why occlusion volumes are only spheres and boxes right now.
     
    one_one likes this.
  14. DavidArppe

    DavidArppe

    Joined:
    Sep 17, 2015
    Posts:
    41
    It does! Extremely well. I've tested the effect with HTC vive and Oculus rift, which are both stereoscopic camera rigs. Also when you're in the scene view, it's drawing on the scene view as well as in game. It's worked with multiple cameras since day 1 :) As long as both cameras are deferred. I believe the scene view camera uses the same rendering path as your main game camera. So even if your main game camera is marked as forward, it will still work on other game cameras (even if it's not showing up in the scene view).
     
  15. dearamy

    dearamy

    Joined:
    Mar 17, 2015
    Posts:
    68
  16. DavidArppe

    DavidArppe

    Joined:
    Sep 17, 2015
    Posts:
    41
    Hmm, I am not sure. I don't own that asset myself, but I looked at the video and the description. The author mentions Plane Textures, and also those textures include transparency. What this tells me is that these footsteps are transparent objects. Transparent objects are drawn after solid objects are drawn. The screen space snow works with the GBuffer in deferred rendering, so it would put a layer of snow on top of your scene before the footprints.

    My educated guess is, yes, it should work seamlessly with sleepless footsteps. I will reach out to the author and edit this if it doesn't work.
     
  17. dearamy

    dearamy

    Joined:
    Mar 17, 2015
    Posts:
    68
    Well, It does work!
    Neat! Snow_And_Footstep.png
     
  18. DavidArppe

    DavidArppe

    Joined:
    Sep 17, 2015
    Posts:
    41
  19. Ecocide

    Ecocide

    Joined:
    Aug 4, 2011
    Posts:
    293
    Great, I will purchase it then today :)

    EDIT: It is submitted with 2017.2. Will it work with an older version? We still use 5.6.3 at the moment.
     
    Last edited: Feb 9, 2018
  20. DavidArppe

    DavidArppe

    Joined:
    Sep 17, 2015
    Posts:
    41
    Hmmm, I am not sure. One part has got me worried, I don't know if CameraEvent.BeforeReflections was part of 5.6.3.

    Let me download 5.6.3, and I will get back to you,
     
  21. DavidArppe

    DavidArppe

    Joined:
    Sep 17, 2015
    Posts:
    41
    So I downloaded and tested it in version 5.6.3. Here's the fix:
    There is one error inside of the script for SnowRenderer. Very easy to fix. Basically, I had these lines of code, which is getting identifiers for shader properties at line 190:

    Code (CSharp):
    1. // We need copies later on so, store the variables
    2. private readonly int m_TempAlbedo   = Shader.PropertyToID("_TempAlbedo");
    3. private readonly int m_TempSpecular = Shader.PropertyToID("_TempSpecular");
    4. private readonly int m_TempNormal   = Shader.PropertyToID("_TempNormal");
    5. private readonly int m_DepthCopy    = Shader.PropertyToID("_DepthCopy");
    And this should then become:

    Code (CSharp):
    1. // We need copies later on so, store the variables
    2. private int m_TempAlbedo;
    3. private int m_TempSpecular;
    4. private int m_TempNormal;
    5. private int m_DepthCopy;
    And then the act of getting the shader properties can go inside of the OnEnable() function


    Code (CSharp):
    1. private void OnEnable()
    2. {
    3.     m_TempAlbedo = Shader.PropertyToID("_TempAlbedo");
    4.     m_TempSpecular = Shader.PropertyToID("_TempSpecular");
    5.     m_TempNormal = Shader.PropertyToID("_TempNormal");
    6.     m_DepthCopy = Shader.PropertyToID("_DepthCopy");
    7.  
    8.     // ...
    9. }

    Anyway that's the only bug, and the fix. I will make sure to test this asset with older versions of Unity when I upload them in the future so it's more compatible,

    - David
     
  22. dearamy

    dearamy

    Joined:
    Mar 17, 2015
    Posts:
    68
  23. DavidArppe

    DavidArppe

    Joined:
    Sep 17, 2015
    Posts:
    41
    Hi again,

    Sorry it's not working for you. Could you let me know exactly what is not working? Post effects (not sure if it's a specific asset you're referring to) work after everything is drawn, and can work with Forward or Deferred rendering. This effect modifies the G buffer in the rendering pipeline, before light is calculated. This is the only way to do it, in order for the effect to work with all lights. It means that the Camera needs to be deferred, and the objects that you want snow rendered on need to write to the G buffer. Sometimes custom shaders are treated as forward shaders, and aren't drawn in the G buffer,

    mailto:david.arppe@uoit.net
    Send me an email, and we can come up with a solution most likely :)
     
  24. dearamy

    dearamy

    Joined:
    Mar 17, 2015
    Posts:
    68
    Does this mean the snow only works on the surface shader?
     
  25. DavidArppe

    DavidArppe

    Joined:
    Sep 17, 2015
    Posts:
    41
    Not necessarily, any shader that writes to the G buffer should work just fine.
     
  26. DavidArppe

    DavidArppe

    Joined:
    Sep 17, 2015
    Posts:
    41
    Hi all, I've added in support for unity trees specifically. Update should be live soon. I have a custom cginclude file that makes adding snow support to any pixel shader very simple! All you will need is the screenPos, and the worldPos (if you would like to have textured snow. If you don't use worldPos, it will use an un-textured snow).

    I will be updating the description on the store to clarify this so people aren't let down when it doesn't work with custom shaders in the forward path. With the custom tree shader, and the new cginclude helper code, it should be nice and easy to get this integrated into any project.

    One other thing that people have noticed: If you're not familiar with the deferred rendering path, fog needs to be added back in via image effect. Unity has a nice post processing stack on the asset store that makes adding fog super easy (it's a checkbox).

    I've also added in support for baked GI and reflection probes. It was overwriting before but, it uses the GI for surfaces not affected by the snow again!

    Lot's of changes, thanks for the suggestions! Keep them coming :)

    - David
     
  27. LennartJohansen

    LennartJohansen

    Joined:
    Dec 1, 2014
    Posts:
    2,394
    Hi.

    I bought a copy today and did some testing, looks nice.

    Would it be possible to add a global area for the snow effect.
    Adding a bounds to the main component or something similar.

    I have a game area I would like the effect on and excluding areas outside.

    Lennart
     
    Vanidash-Studios likes this.
  28. Vanidash-Studios

    Vanidash-Studios

    Joined:
    Mar 9, 2016
    Posts:
    71
    Hello,

    I have 3 questions:

    1.- Same as above.
    2.- Can you control the amount of snow, so you it will increase gradually from no snow to the point where everything is covered in snow? If so, will this work with enviro sky and weather system?
    3.- Will you consider adding the snow tracks in future updates? as for now its the only thing stopping me from buying your asset instead of the other snow solution out there.
     
  29. DavidArppe

    DavidArppe

    Joined:
    Sep 17, 2015
    Posts:
    41
    Hey Lennart,

    This is already possible in the asset. The first step would be to go into the snow settings, and switch the 'Clear Amount' (found under 'Advanced Options') to 0. This means the default level of snow on the scene is no snow.
    The global area you're talking about comes from the snow occlusion volumes. They have a 'snow level' slider on them. Increasing this to max will add the snow back inside of them.

    Thank you!

    Hi Vanidash,

    You can control the amount of snow, so if you do follow the instructions above, you would be controlling the 'Snow Amount' slider in the occlusion volumes. If you don't use occlusion volumes to have snow in a global area, you can use the 'Clear Amount' I mentioned above.
    I've considered adding snow tracks, but as it stands it already works with most snow track assets. Which tracks are you talking about? Just footprints? Tire tracks? The effect works with existing decal systems (even deferred decals modifying the normal maps). But to answer your question more directly, yes, it's something I've considered.

    Thanks :)
     
  30. joshcamas

    joshcamas

    Joined:
    Jun 16, 2017
    Posts:
    1,276
    This looks fantastic! I'm assuming this effect doesn't override shadows, correct?
     
  31. DavidArppe

    DavidArppe

    Joined:
    Sep 17, 2015
    Posts:
    41
    Correct, It's completely finished before lights even start!

    - David
     
  32. joshcamas

    joshcamas

    Joined:
    Jun 16, 2017
    Posts:
    1,276
    Awesome! I threw together a super simple screenspace snow effect, and it seems to override shadows. I'll keep mine for now, but I'll be buying yours in the future for sure!! :)
     
  33. Wurlox

    Wurlox

    Joined:
    Nov 1, 2015
    Posts:
    50
    Hello,

    I have a special use case for which I am considering buying this asset. I hooked up several assets to create a dynamic weather system. The only thing missing is a snow shader for my trees. I am thinking of using your screen space snow for only trees. Please take a look at the following video to see what I mean: https://drive.google.com/open?id=1glIgTtbx_aHdNGGjq83_qD8PErMNCsoX

    As you can see the tree shader I used vor snow coverage doesn't support wind. So basically what I am asking is if it is possible to use your screen space snow for my use case to only cover trees with snow and how does it look when there is wind? Furthermore I read about the shader that removes leaves. That would be even better for a winter scene. Can you explain a little more about that feature?

    Thanks and regards,
    Wurlox
     
  34. DavidArppe

    DavidArppe

    Joined:
    Sep 17, 2015
    Posts:
    41
    Hi Wurlox, Thanks for your interest,

    Which types of trees are you rendering? Speed tree? Unity trees? Custom meshes? The shader works best with surface shaders, or shaders that can be deferred. Speed-tree works great, and has really nice wind effects. It works with the snow effect as well. Unity trees don't natively work (because they don't write to the G buffer), but I have a custom tree leaf shader that I used to bypass this, and some shader code that can allow for snow to gather on forward-rendered surfaces.

    Also, I don't have a shader that removes leaves? Maybe it's a misunderstanding. However if you wanted to do this effect, you could use a cutout shader and an alpha gradient for your leaves. Then you can control how you want them to die/grow. It's not something in my asset.

    Your weather system looks great!
     
  35. castor76

    castor76

    Joined:
    Dec 5, 2011
    Posts:
    2,517
    This is interesting. But I am little bit worried about performance impact for excluding characters from the snow effect. I understand that you use command buffer of some sort so i am guessing that it needs to draw character into the buffer. So is this mean another draw call per skinnedmesh renderer? In fact, does it mean it need to redraw any mesh exclusion object again into the buffer?

    If so. I do wonder which would be faster.. redrawing exclusion zone and mesh plus skinned mesh again into the buffer cauing more drawcalls and triangle rendering or doing it on the mesh shader so only ones that needs snow actually draws from the beginning... i guess it may come down to individual setting.. but humm..

    What do you think? Any thoughts? Or have i got the concept wrong and worrying about something which isnt there?
     
  36. castor76

    castor76

    Joined:
    Dec 5, 2011
    Posts:
    2,517
    Also. It mentions that it doesnt work with hdr ? Which is super bummer for me :( any plan to support hdr?
     
  37. DavidArppe

    DavidArppe

    Joined:
    Sep 17, 2015
    Posts:
    41
    You've got it right, that's what's happening. If you want it in one draw call however, it's not impossible. There are included functions in a cg include which allow you to write into the snow buffer from any point. Doing this means you could draw the character and exclude the character at once.

    I will include this in the next release though, in case people don't see this post Thanks,
     
  38. DavidArppe

    DavidArppe

    Joined:
    Sep 17, 2015
    Posts:
    41
    Yes, I'm working on suppoer for HDR. I'll post here the instant it's finished,
     
  39. castor76

    castor76

    Joined:
    Dec 5, 2011
    Posts:
    2,517
    Sounds good. But I still wonder how this will be possible. Say if you use unity standard shader, for deferred rendering purpose too then there isnt much we can do in terms of shader because writing to the buffers are handled internally. Unless we have our own custom deferred lighting? Which may be possible. But that means snow calculation is done all the time.. because we have to override it for entire project... we will probably need somthing like SurfaceSnowSpecularLighting ?
     
  40. DavidArppe

    DavidArppe

    Joined:
    Sep 17, 2015
    Posts:
    41
    I see what you're saying. I think I might have gotten something wrong in my last response. Let me get back to you on that,
     
  41. DMeville

    DMeville

    Joined:
    May 5, 2013
    Posts:
    418
    Hello! I was looking into making a system similar to yours the other day, specifically the snow blockers, and after hours of reading about command buffers and examples, I eventually stumbled on this thread. I picked up your asset to dig into the code and hopefully learn something from, as it looks like it does some pretty cool stuff!

    I was wondering if you have plans to add something similar to your Shape Occluders, which take a mesh instead of a sphere or a box. I know you have Mesh Occluders but these work a little differently compared to the shape occluders. Ideally I was looking for a way to have the same behaviour as your shape occluders but using a transparent mesh as the occlusion "volume".
    It appears the shape occluders accurate compute "insersecting geometry" inside the shape's volume, however the mesh occluders just mark everything behind it as occluded. So in the case that you're looking through the occluder, everything behind it is marked as no-snow even if it's way off in the distance.

    I was asking about this kind of thing on reddit, and while I'm no shader guru I think this *should* be possible with some command buffer magic: https://www.reddit.com/r/Unity3D/co..._a_shader_that_color/?st=jgieoze3&sh=5fab1421

    Any thoughts on adding something like this to your asset in the future?
     
  42. DavidArppe

    DavidArppe

    Joined:
    Sep 17, 2015
    Posts:
    41
    Hey DMeville,

    I've considered adding this to the asset. However, there would be some additional limitations that the current mesh occluder doesn't have. In order for this to work reliably, I would limit it to convex meshes. Most meshes can be decomposed into convex meshes (I think I saw a Unity asset do this as well, to allow for concave physics colliders).

    Using a convex mesh, it's then possible to use another technique similar to depth peeling - used for order-independent transparency - to test the back-face and front-face distances. Then things could be interpolated nicely with those two values probably. I think a world-space feather effect similar to what I already have isn't possible with this method though, because you would only know the fragments position between the two points that are sampled (back face and front face). So you could occluder inside a volume, and have a crude approximation of distance-to-the-edge used for feathering.

    What types of situations benefit from this though? Another issue is, what if the camera is intersecting the object that is currently being rendered? There are a lot of problems that arise from this type of effect, and it wouldn't solve too much,

    I have to admit though, it would be really cool if it wasn't so much trouble :)

    That's true that everything behind the mesh occluder is marked as occluded. This is because it's meant to occlude just the mesh, it's not intended to occlude the scene, like the box and sphere colliders. So if you have the mesh occluder registered, but you're not drawing the mesh, you will see this 'ghost' effect. However, it works exactly as it should, as long as your mesh is Opaque,

    Hope that clears up some things :)

    David,
     
  43. DMeville

    DMeville

    Joined:
    May 5, 2013
    Posts:
    418
    Yes, that's what I was thinking also. Convex meshes would be enough in my opinion. Sometime after the main depth buffer has been computed, for each mesh blocker I figured you could grab the backface and frontface depths and compare those with depth buffer. Then mark it as occluded if backface < depth < frontface or something with some falloff from how far it is between the two. Is this what you mean by something similar to depth peeling?

    Not sure about the camera intersecting, that's a case I hadn't thought of. BUT you make a valid point, it's probably more effort than it's worth when spheres and boxes with nice feathering would more than likely be a perfect solution in 99% of situations.

    I'm going to dig into your code now and see what I can learn from it. Ultimately I'd really like to be able to just use the screen space occlusion mask that you're generating in my own custom shaders (as I'd like to use it for snow, rain, and other effects that require occlusion). Thanks for the input!
     
  44. castor76

    castor76

    Joined:
    Dec 5, 2011
    Posts:
    2,517
    Any news on this? Did you managed to come up with method to draw into mask buffer at the same cost of draw call?
     
  45. Immu

    Immu

    Joined:
    Jun 18, 2013
    Posts:
    240
    Hi, you talk about scriptable rendering pipeline in the asset description, so I'm wondering, is it compatible with LWRP ?
    Thanks :)
     
  46. DavidArppe

    DavidArppe

    Joined:
    Sep 17, 2015
    Posts:
    41
    Hi Immu,

    It's not tested yet, so I'm not sure. I don't think it will work however. I've tested with the HDRP, and it wasn't compatible. I'm working to support the new pipelines!

    David
     
    Immu likes this.
  47. dansav

    dansav

    Joined:
    Sep 22, 2005
    Posts:
    510
    Does this work with mobile?
    It says above that the graphics card has to have Deferred rendering but on unity's rendering page:
    https://docs.unity3d.com/Manual/RenderingPaths.html

    it says deferred shading is supported on:
    OpenGL ES 3.0 & MRT, Metal (on devices with A8 or later SoC).

    Which would be iphone 6 and up.
    Android 4.3 and up which is KitKat supports OpengL ES 3.0.

    Is someone able to test this and see if the speed is okay for android or ios?
     
  48. Suki-W

    Suki-W

    Joined:
    Mar 11, 2014
    Posts:
    33
    Hows hdrp looking? I'm thinking about picking up, but only for hdrp.
     
  49. DavidArppe

    DavidArppe

    Joined:
    Sep 17, 2015
    Posts:
    41
    Hi Suki-W,

    HDRP removed a lot of features this asset depends on to work. Like command buffer insertion, and some of the callbacks in C#. Until these are added back in, or some other method of customization is added, I can't support HDRP. It's something the developers have hinted that they might add in the future (It would be silly to not add it back in my opinion).

    David
     
  50. twitchfactor

    twitchfactor

    Joined:
    Mar 8, 2009
    Posts:
    356
    This asset looks like it would be cool, but it just doesn't work. The included demo level works, but the prefab or trying to create a new snow set-up from the GameObject menu doesn't work at all. It gives the error:

    Code (CSharp):
    1. MissingComponentException: There is no 'MeshFilter' attached to the "SnowRenderer(Clone)" game object, but a script is trying to access it.
    2. You probably need to add a MeshFilter to the game object "SnowRenderer(Clone)". Or your script needs to check if the component is attached before using it.
    3. SnowRendererEditor.CreateSnowRenderer () (at Assets/Screen Space Snow/Editor/SnowRendererEditor.cs:38)
    Investigating it looks like it's looking for the "Infinite Bounds" you have in the prefab. There is NO WAY to create such a thing or to have the snow set up properly, once it hits that error.

    This makes me an incredibly sad panda and makes this asset useless to me. I'm using 2019.2.