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

Massive Clouds Atmos / Massive Clouds

Discussion in 'Assets and Asset Store' started by mewlist, Nov 9, 2018.

  1. whidzee

    whidzee

    Joined:
    Nov 20, 2012
    Posts:
    166
    Thanks mate. that worked great
     
    mewlist likes this.
  2. mewlist

    mewlist

    Joined:
    May 22, 2017
    Posts:
    235
    I am now testing new feature - Atmospheric Scattering.
    And I am also planning to improve Volumetric Shadow Quality.

    upload_2020-3-31_1-18-49.png
     
    whidzee likes this.
  3. whidzee

    whidzee

    Joined:
    Nov 20, 2012
    Posts:
    166
    Is there any ability to tweak the values based upon the Quality setting that players choose? So if they choose Ultra Setting then we turn up all the values. but if they choose low quality we turn down the dials to make it more performant
     
  4. mewlist

    mewlist

    Joined:
    May 22, 2017
    Posts:
    235
    God Ray will be overhauled.
    High performance and quality.
    upload_2020-4-3_2-15-1.png
     
    transat and TokyoWarfareProject like this.
  5. mewlist

    mewlist

    Joined:
    May 22, 2017
    Posts:
    235
    Sorry, currently It can not be able to sync with Unity Quality.
    Script controlling is required.
     
  6. whidzee

    whidzee

    Joined:
    Nov 20, 2012
    Posts:
    166
    I'm wondering if we could have two cloud files that are similar but one is more performant than the other. and I can then load them into my camera depending on which quality setting the user chose.

    I'm playing with the transparency problem. Right now the clouds are set to After Forward alpha.
    I want to have some transparent objects drawn in front of the clouds. Like my aeroplane's blured propeller. I have tried playing with the render queue of the shader(using the legacy shader because the standard shader isn't giving me the render queue control). no matter what I try my spinning propeller gets drawn behind the clouds. Is there a render queue value that the clouds is using so i can tweak my blured propeller shader to be able to get me to draw it on top of the clouds?
     
    Last edited: Apr 2, 2020
  7. mewlist

    mewlist

    Joined:
    May 22, 2017
    Posts:
    235
    If you use Standard RP, It is required to extend pass using camera command buffer.
    And draw mesh manually at specific timing.
    https://docs.unity3d.com/2018.4/Documentation/Manual/GraphicsCommandBuffers.html

    If you use URP, it is more easy to achieve it.
     
  8. TokyoWarfareProject

    TokyoWarfareProject

    Joined:
    Jun 20, 2018
    Posts:
    812
    Hello, I would need to change the "Max Distance" parameter in runtime, but I'm failing somewhere:
    Code (CSharp):
    1.     MassiveClouds clouds;
    2.     // Start is called before the first frame update
    3.     void Start()
    4.     {
    5.         clouds = gameObject.GetComponent<MassiveClouds>();
    6.  
    7.         if (HardwareCheck.currentModel == HardwareCheck.consoleModel.xboxOne || HardwareCheck.currentModel == HardwareCheck.consoleModel.xboxOneS)
    8.         {
    9.             clouds.Profiles[0].Parameter.MaxDistance = 1500f;
    10.         }
    11.  
    12.         else
    13.         {
    14.             clouds.Profiles[0].Parameter.MaxDistance = 3000f;
    15.         }
    16.  
    17.      
    18.         clouds.SetParameters(clouds.Parameters);
    19.        
    20.     }
     
  9. mewlist

    mewlist

    Joined:
    May 22, 2017
    Posts:
    235
    Try like this.

    Code (CSharp):
    1.  
    2.         var parameters = clouds.Parameters;
    3.         if (HardwareCheck.currentModel == HardwareCheck.consoleModel.xboxOne || HardwareCheck.currentModel == HardwareCheck.consoleModel.xboxOneS)
    4.         {
    5.             parameters[0].MaxDistance = 1500f;
    6.         }
    7.  
    8.         else
    9.         {
    10.             parameters[0].MaxDistance = 3000f;
    11.         }
    12.         clouds.SetParameters(parameters);
    13.  
    14.  
     
    TokyoWarfareProject likes this.
  10. ARGB32

    ARGB32

    Joined:
    Feb 20, 2013
    Posts:
    15
    I can get the shadows rendering in viewport, but as soon as I press play they stop rendering? Any ideas?
     
  11. ARGB32

    ARGB32

    Joined:
    Feb 20, 2013
    Posts:
    15
    Looks like there's some bug with instancing the camera via a prefab. If I have it already in the scene it works, but new instance doesn't render shadows.
     
  12. mewlist

    mewlist

    Joined:
    May 22, 2017
    Posts:
    235
    Thank you for your report.

    I do not aware that bug.
    I will test it.
     
  13. lordzeon

    lordzeon

    Joined:
    Jun 1, 2018
    Posts:
    44
    Hi, im looking to render volumetric clouds in a sphere planet where the camera could be inside and outside the atmosphere, this asset could make clouds in a sphere with view from any side?
     
  14. mewlist

    mewlist

    Joined:
    May 22, 2017
    Posts:
    235
    Hello.
    Sorry it can not.
     
  15. forcepusher

    forcepusher

    Joined:
    Jun 25, 2012
    Posts:
    227
    @mewlist Hello. Thanks for an amazing asset. It's mind-blowing that this could run in WebGL.
    However I've ran into an issue with Volumetric Shadow while using URP 7.3.1.
    Whenever I enable it, I see a white outline around objects. I will send you a minimal reproduction project in a private message.
    eFEl5uy.png
     
  16. mewlist

    mewlist

    Joined:
    May 22, 2017
    Posts:
    235
    This artifact is caused by Volumetric shadow with low resolution.

    upload_2020-4-19_15-13-46.png

    To adjust this, please try to change MassiveCloudsRaymarch.cginc line 329 like this image.

    Thanks.
     
    forcepusher likes this.
  17. forcepusher

    forcepusher

    Joined:
    Jun 25, 2012
    Posts:
    227
    Thanks a lot, that solved it.
     
    mewlist likes this.
  18. AhJun

    AhJun

    Joined:
    Dec 30, 2019
    Posts:
    14
    in the future, will we get URP single pass rendering mode? Please say yes!
     
  19. TokyoWarfareProject

    TokyoWarfareProject

    Joined:
    Jun 20, 2018
    Posts:
    812
    Hello you certainly pointed me in the right direction but there are changes needed, you need to store the parameters (all) in a temp variable, and after assigning values to the temp update the list, like this

    Code (CSharp):
    1. void Start()
    2.     {
    3.  
    4.         clouds = gameObject.GetComponent<MassiveClouds>();
    5.  
    6.         var parameters = clouds.Parameters;
    7.         if (HardwareCheck.currentModel == HardwareCheck.consoleModel.xboxOne || HardwareCheck.currentModel == HardwareCheck.consoleModel.xboxOneS)
    8.         {
    9.  
    10.             MassiveCloudsParameter tmpParams= parameters[0];
    11.             tmpParams.MaxDistance = 10500f;
    12.  
    13.             parameters[0] = tmpParams;
    14.  
    15.         }
    16.  
    17.         else
    18.         {
    19.             MassiveCloudsParameter tmpParams= parameters[0];
    20.             tmpParams.MaxDistance = 20000f;
    21.  
    22.             parameters[0] = tmpParams;
    23.         }
    24.  
    25.         clouds.SetParameters(parameters);
    26.     }

    edit

    I think resolution should be publicly exposed by default as is a major variable when creating profiels
    upload_2020-4-20_9-50-36.png


    edit
    my less bulky version of the script with per scene, per hardware fine tuning

    Code (CSharp):
    1.  
    2.  public Menu_SceneLoader.scenes mapProfile;
    3.     MassiveClouds clouds;
    4.     List<MassiveCloudsParameter> parameters = new List<MassiveCloudsParameter>();
    5.     MassiveCloudsParameter tmpParams;
    6.     void Start()
    7.     {
    8.         clouds = gameObject.GetComponent<MassiveClouds>();
    9.         parameters = clouds.Parameters;
    10.         tmpParams = parameters[0];
    11.         if (mapProfile == Menu_SceneLoader.scenes.Jaka) JakaClouds();
    12.         if (mapProfile == Menu_SceneLoader.scenes.farewell) FarewellClouds();
    13.     }
    14.  
    15.     void JakaClouds()
    16.     {
    17.     }
    18.     void FarewellClouds()
    19.     {  
    20.         if (HardwareCheck.currentModel == HardwareCheck.consoleModel.xboxOne || HardwareCheck.currentModel == HardwareCheck.consoleModel.xboxOneS)
    21.         {
    22.             clouds.resolution = 0.24f;  
    23.            
    24.             tmpParams.MaxDistance = 10000f;
    25.             tmpParams.Iteration = 300f;      
    26.         }
    27.         else
    28.         {
    29.             clouds.resolution = 0.32f;
    30.             tmpParams.MaxDistance = 20000f;
    31.             tmpParams.Iteration = 400f;
    32.         }
    33.         SetParams(tmpParams);
    34.     }
    35.     void SetParams(MassiveCloudsParameter tmpPar)
    36.     {
    37.         parameters[0] = tmpPar;
    38.         clouds.SetParameters(parameters);
    39.     }
    40.     }
     
    Last edited: Apr 20, 2020
    mewlist likes this.
  20. mewlist

    mewlist

    Joined:
    May 22, 2017
    Posts:
    235
    URP is stable.
    So, I research it.
     
    awesomedata likes this.
  21. awesomedata

    awesomedata

    Joined:
    Oct 8, 2014
    Posts:
    1,419
    @mewlist

    Would you be willing to make this LOD layers system described above a part of this asset?
    Perhaps as an interface?

    It seems really handy to quickly adjust the different levels of detail!
     
  22. D1234567890

    D1234567890

    Joined:
    Aug 11, 2019
    Posts:
    56
    I tried changing parameters on the active profile. But the changes aren't reflected in the scene view. I have to swap the profile in and out of the layer for the changes to be visible. I have tried it with a few Unity and URP versions, but I am unable to get URP 7.0.1. Is this a known issue/limitation?
     
  23. AhJun

    AhJun

    Joined:
    Dec 30, 2019
    Posts:
    14
    URP works for me now on single pass as well as VR. did you remember to add New Massive Clouds Universal RP Scriptable Feature into the ForwardRenderer under renderer features?
     
  24. mewlist

    mewlist

    Joined:
    May 22, 2017
    Posts:
    235
    I have a plan of next Major version up.
    It will have next gen atmospheric rendering system.

    upload_2020-4-25_0-28-25.png

    This is image of in development.
    Next gen system realize to adjust scale separately.
    In this image, Unity runs as FullHD resolution, upper cloud have 1/3 resolution, lower main cloud have 1/2 resolution.
    And atmospheric scattering is rendered as 1/3 scale.


    Height Fog will be overhauled. It will be rendered truly volumetric.

    How will it takes, I don't know. But do effort to release it continuously.

    Thanks.
     
  25. mewlist

    mewlist

    Joined:
    May 22, 2017
    Posts:
    235
    Hello.
    MassiveClouds profile is cached internally.
    So, please use MassiveClouds.SetParameters function.

    I prepared sample script in Package.
    Would you see MassiveCloudsScriptableScrollSample.cs.
    I hope this helps you.

    Thanks.
     
  26. awesomedata

    awesomedata

    Joined:
    Oct 8, 2014
    Posts:
    1,419
    Is that meaning that, from front to back (i.e. in layers), we should eventually be able to scale the cloudscapes as shown here (i.e. different front/middle/background resolutions?):



    I couldn't find an asset on the store that can do cloudscapes like the above image.
    When I saw this, I bought your plugin immediately.

    Just knowing it is capable of something like that totally got me interested!
     
  27. mewlist

    mewlist

    Joined:
    May 22, 2017
    Posts:
    235
    That situation will be rendered more good quality by next-gen engine, I think.

    In same layer of clouds, it is rendered same scale from near and far landscape.
    But next gen renderer have improvements of far rendering quality.

    upload_2020-4-25_12-52-2.png

    At this image, lower layer cloud have x0.2 resolution of clouds. Artifacts on far scape is reduced and dissolve to ambient.
    And higher layer cloud have x0.1 resolution of clouds.

    Sphere is rendered in full resolution and no artifacts around it.

    upload_2020-4-25_13-1-30.png

    At this image, Higher x0.1 Lower x0.5 resolution.

    These will be realized by deferred rendering approach in cloud rendering and some optimization mixed.

    Thanks.
     
    awesomedata likes this.
  28. MicCode

    MicCode

    Joined:
    Nov 19, 2018
    Posts:
    59
    Hi mewlist,

    I just got massive cloud and testing with HDRP, really cool plugin and it's fun to play around with.

    I noticed a few problem:
    The cloud is drawing over the volumetric fog from hdrp, any way to fix that?
    cloudfog.jpg

    Also any recommended settings for using with the new physically based sky from hdrp?
    I set it according to the manual, it work well with HDRI sky but not quite right for the physically based sky

    Many thanks
     
  29. potatosallad3

    potatosallad3

    Joined:
    Sep 10, 2019
    Posts:
    31
    Hi, thanks for making this really unique cloud system, I'm really enjoying using it.

    I know this was asked a while back but I didnt quite understand the answer:

    How can I make the clouds be reflected on water? I'm using Lux water and I'd love to know if I can get the clouds to reflect off it.

    Cheers
     
  30. mewlist

    mewlist

    Joined:
    May 22, 2017
    Posts:
    235
    It is no way to move HDRP Fog render timing in pipeline.
    I have tested multi-camera approach.

    Add Sky Layer

    Prepare two cameras

    One camera is setup as set Culling Mask to Sky like this.
    And Setup MassiveClouds Component on it.
    upload_2020-4-27_20-57-49.png

    Other one is normal setup as HDRP default camera. And set Background Type None. Remove Sky Layer from Culling Mask. And Set Depth greater than previous camera's depth value.
    upload_2020-4-27_20-58-25.png

    Prepare Sky Volume and Fog Volume separately.
    Layer of Sky Volume is set to Sky.
    Layer of Fog Volume is set to Default or other.

    Overwrite HDRP/MassiveCloudsPass.cs by attached file and set First camera to Camera property.
    upload_2020-4-27_20-47-24.png

    These settings realize rendering clouds behind the Fog.

    upload_2020-4-27_20-59-37.png
    This image has Physically based sky.

    (But I do not know these setting is right way... sorry)

    Thanks.
     

    Attached Files:

    awesomedata likes this.
  31. mewlist

    mewlist

    Joined:
    May 22, 2017
    Posts:
    235
    I test more.

    HDRP Fog is regularly process with Sky.
    If separate it, unfortunately I can not pick up Ambient color automatically.
    And It may cause other problems.
    This is HDRP pass flow.
    https://docs.unity3d.com/Packages/c....1/manual/Images/HDRP-frame-graph-diagram.png

    I recommend to use other fog solution that process process on other pass, like post process or custom pass.
    Like, Height fog included in MassiveClouds.


    And I found Auto-Ambient mode is broken with Procedural Sky.
    It set more lighter ambient color at ground.
    This cause invalid lighting on clouds.


    1:15

    I will change logic of Manual Ambient Mode.
    Currently if it is set Manual, not affected by HDRP Exposure.
    It will be affected by Exposure.

    I test Procedural Sky with Manual Ambient Color setup with code in development.
    upload_2020-4-28_1-18-13.png
    It looks working fine.


    Thanks.
     
    Last edited: Apr 27, 2020
  32. mewlist

    mewlist

    Joined:
    May 22, 2017
    Posts:
    235
    Lux Water System have Hidden Reflection Camera.
    If you use Standard RP, setting up Massive Clouds on it will render clouds in reflection.
    It is required some scripts automation.

    If you want to test, set reflection camera hideFlags to HideFlags.DontSave in Lux Script.
    Then the camera will shown in Hierarchy.
    You can setup MassiveCloudsCameraEffect on it.
     
  33. MicCode

    MicCode

    Joined:
    Nov 19, 2018
    Posts:
    59
    Thanks for investigating, from the diagram it seems like you need a injection point before fog but after sky, it will be a shame if the hdrp fog doesn't work with massive cloud.

    And yes, I'm having trouble with manual mode not affected exposure, I'll look forward to new version that fix it.

    Many thanks.
     
  34. MicCode

    MicCode

    Joined:
    Nov 19, 2018
    Posts:
    59
    mewlist and awesomedata like this.
  35. mewlist

    mewlist

    Joined:
    May 22, 2017
    Posts:
    235
    Thank you for pointing it.
    I will try to research and integrate to Custom Sky.
     
  36. mewlist

    mewlist

    Joined:
    May 22, 2017
    Posts:
    235
    I test on URP VR.
    And I aware that DepthTexture is default unchecked in URP Setting file.

    Please check it and try.

    On my PC, URP VR + SinglePass is working.
    Thanks.
    upload_2020-5-1_0-2-55.png
     
  37. whidzee

    whidzee

    Joined:
    Nov 20, 2012
    Posts:
    166
    Hey @TokyoWarfareProject, Do you think your LOD system could be integrated with the quality setting in unity? So if a player sets low quality it would drop to a lower LOD?
     
  38. transat

    transat

    Joined:
    May 5, 2018
    Posts:
    779
    Hi @mewlist Ever since i switched to URP 8 on 2020.2 (yes, I know!) the clouds don’t rotate properly with the camera. Do you have an idea what might be happening?
     
  39. mewlist

    mewlist

    Joined:
    May 22, 2017
    Posts:
    235
    Sorry, still haven't tested on 2020.
    I will take a look.
    Thanks.
     
  40. mewlist

    mewlist

    Joined:
    May 22, 2017
    Posts:
    235
    Recently I am working on next gen cloud and atmosphere system.
    It named Massive Clouds ATMOS.

    Cloud and Sky system will be completely integrated into HDRP Pipeline.
    And also, It works on URP or Built-in RP.

    This is 4K Rendering Image of ATMOS on Unity2019.3 HDRP.

    Whole skybox and clouds are rendered as HDRP Sky and Lighting.
    image_0000.jpg
    @MicCode Thank you for giving information about HDRP CustomSky.
     
  41. MicCode

    MicCode

    Joined:
    Nov 19, 2018
    Posts:
    59
    Looking good! is it a new asset?
     
  42. Bartolomeus755

    Bartolomeus755

    Joined:
    Jun 20, 2013
    Posts:
    283
    Looks amazing. ;)
     
  43. awesomedata

    awesomedata

    Joined:
    Oct 8, 2014
    Posts:
    1,419
    It is indeed looking good -- but I hope it's not a new asset. I just bought Massive Clouds and haven't had a chance to really dig into it yet... :(
     
  44. mewlist

    mewlist

    Joined:
    May 22, 2017
    Posts:
    235
    Hi.
    I will release MassiveCloudsAtmos as new Package.
    And enable to upgrade from MassiveClouds with grace days.

    If that schedule will be clear, I will announce here.
    (I hope it will be done in 1 or 2months.... but I do not konw :)
     
    transat likes this.
  45. weikai1209

    weikai1209

    Joined:
    Feb 19, 2020
    Posts:
    2
    Hi guys, I just played around the Massive Cloud and it's pretty interesting. I'm new in Unity and I just copy and paste mewlist's component of Sea of Cloud onto my Main Camera and adjust those numbers and get what I what.

    However, I have a question that when I build the application and run it, the clouds just disappear. I can see them in when they're in the project window.

    Does anyone meet a question like this before?
     
  46. MicCode

    MicCode

    Joined:
    Nov 19, 2018
    Posts:
    59
    I hope it can work in harmony with the hdrp volumetric, than it will be awesome and definitely worth the wait and upgrade, just a little concerned whether we will still be able to fly through the cloud?
     
    mewlist likes this.
  47. jamespaterson

    jamespaterson

    Joined:
    Jun 19, 2018
    Posts:
    395
    However, I have a question that when I build the application and run it, the clouds just disappear. I can see them in when they're in the project window

    I have hit snags like this in the past. In my case the fix was to make and include in the build an explicit list of shadervariants. I think perhaps if memory serves massiveclouds ships with a premade shader variants file. Good luck!
     
    mewlist likes this.
  48. mewlist

    mewlist

    Joined:
    May 22, 2017
    Posts:
    235
    Yes of-course.
    And Massive Clouds Atmos have less artifact.

    upload_2020-5-20_23-23-29.png
     
    Bartolomeus755 likes this.
  49. Duende

    Duende

    Joined:
    Oct 11, 2014
    Posts:
    200
    Hi! You have a very interesting asset. :)
    I have a question: how does your asset work? Do you have a tutorial or pdf? Do the clouds use a noise texture?
    I ask this because I want to know if the clouds would detect a mountain, so that the cloud would not penetrate the mountain. With a noise texture I could, at runtime, edit it to prevent those parts, where there are mountains, the clouds enter or generate.
     
  50. mewlist

    mewlist

    Joined:
    May 22, 2017
    Posts:
    235
    Duende likes this.