Search Unity

[released] Overcloud - Volumetric Sky And Lighting

Discussion in 'Assets and Asset Store' started by Fewes, Mar 25, 2019.

  1. Fewes

    Fewes

    Joined:
    Jul 1, 2014
    Posts:
    148
    Did you try increasing the camera far clip plane?
     
  2. tirarex

    tirarex

    Joined:
    Feb 19, 2015
    Posts:
    4
    I am thinking of requesting a refund. Awful optimization.
    The demo with an empty world and an airplane goes fine, but any slightly loaded project becomes slow.
    My game runs at 60 fps in the Nvidia 2080 super loading by about 30%, but after turning on the sky, 80-99% with the same FPS.

    UniStorm (ver 4) take about 10-20% of gpu
     
  3. Fewes

    Fewes

    Joined:
    Jul 1, 2014
    Posts:
    148
    Please check the documentation for information on how to best tweak the asset to your performance needs. If you are still unhappy with how it runs, send me a PM and we'll discuss a refund. Did increasing the far clip plane fix the clouds not appearing?
     
  4. tirarex

    tirarex

    Joined:
    Feb 19, 2015
    Posts:
    4
    No.
    Standart SteamVR plugin, Unity 2018.4.8
    i5 8400 / 16gb ram / Nvidia rtx 2080 super

    i just grab Overcloud prefab from demo, add overcloud camera to camera entitiy of standart steamVR rig.
    Buying a package is 3 times more expensive than analogs, you expect that it will work at least normally (not perfect), right out of the box

    I sent you an email but you did not reply
     
  5. Realiz3D

    Realiz3D

    Joined:
    Jul 17, 2018
    Posts:
    2
    Hello,
    I bought your asset, and I wanted to tell you how awesome it was. One of the best solutions for generating skies and atmosphere.

    On the other hand, in my current project, I'm running into a bit of a problem. Not with your asset, but with the settings of my project. Is there a solution to inverse the sun path ?

    The project doesn't have the good orientation, I can't rotate it due to some constraint, and I was wondering, will there be in the future a way to turn the rotation of the sun, or is it not on your roadmap?

    In any case, really good job man, you did one hell of an asset!
    Looking forward to your help, and your future project.
    Best regard.
    Theo Barthelemy
     
    Last edited: Sep 25, 2019
  6. Fewes

    Fewes

    Joined:
    Jul 1, 2014
    Posts:
    148
    Hi there, and thanks. I'm a little unsure of what you mean. Do you mean the sun points in the exact opposite direction of what it should?
     
  7. Realiz3D

    Realiz3D

    Joined:
    Jul 17, 2018
    Posts:
    2
    Sorry, for the confusion, I mean with my coordinate, the sun goes from right side to left side. It's the real sun path, but because of my constraint, I would need to have it go left to right.

    I had the same issue with Usky, and I had to use their "Unrealistic" mode to change it manually.
    I don't know if there is an easy way to inverse it ?

    thanks for your quick reaction.
     
  8. Migueljb

    Migueljb

    Joined:
    Feb 27, 2008
    Posts:
    443
    Still waiting on RAM 2019 integration? I asked in the nature manufacture discord but Bart said you would have to contact him if you wanted to integrate together the same way RAM 2019 is integrated with the latest Enviro. Alot of people are using Overcloud and RAM 2019 something to think about.
     
  9. wwg

    wwg

    Joined:
    Apr 2, 2014
    Posts:
    121
    Hi @Fewes ,
    I love OverCloud!

    1. How can I lower the horizon brightness?
    overcloud_brightness1.png
    2. I'd like to steadily increase the fog level as the player gets farther from the level center (0,0,0). How would you recommend I do that?
    3. I still think that star intensity should lower during the day and increase at night . I know it doesn't work that way in reality, but that is the end effect.
    4. Do you have any performance improvements planned for future releases?
    5. The sun intensity parameter doesn't seem to change anything.

    Thanks!
     
  10. Fewes

    Fewes

    Joined:
    Jul 1, 2014
    Posts:
    148
    I think your best bet is to control the sun position manually via a script of your own. If you uncheck "Enable" under "Time Of Day" on the main OverCloud component, you can control everything manually. OverCloud will still use your rotations when calculating all effects.

    Yes this is definitely on my end. It is coming!

    Hi, glad to hear!

    1. Your image appears very over-exposed. I would really recommend you use a tonemapping post-effect of some sort (Such As "Color Grading" in the post-processing stack V2). OverCloud comes with a very simple tonemap effect which you can add to your camera if you do not wish to use the full post-processing stack. (called Tonemap.cs)
    2. You can control the fog density manually from script using the beforeShaderParametersUpdate event:
    Code (CSharp):
    1. void Awake ()
    2. {
    3.     // Register event delegate
    4.     OverCloud.beforeShaderParametersUpdate += OverCloud_BeforeShaderParametersUpdate;
    5. }
    6.  
    7. void OverCloud_BeforeShaderParametersUpdate ()
    8. {
    9.     // Calculate this from distance to origin
    10.     float myFogValue;
    11.     // Manually override the fog value
    12.     OverCloud.current.m_CurrentPreset = myFogValue;
    13. }
    3. You can also controls this via script:
    Code (CSharp):
    1. void Awake ()
    2. {
    3.     // Register event delegate
    4.     OverCloud.beforeShaderParametersUpdate += OverCloud_BeforeShaderParametersUpdate;
    5. }
    6.  
    7. void OverCloud_BeforeShaderParametersUpdate ()
    8. {
    9.     // Change this according to the time of day, or the position of the sun etc.
    10.     float myStarsIntensity;
    11.  
    12.     // Manually override the stars intensity
    13.     OverCloud.atmosphere.starsIntensity = myStarsIntensity;
    14. }
    4. Not really. I've been thinking about swapping the fog from analytic to ray-marched (without 3D noise), but this has a lot of knock-on effects so I'm not sure. The perf gain of this might also not be that great.
    5. The sun intensity parameter does not change the intensity of the directional light (this is controlled by the light itself), but rather changes the appearance of the sun in the sky. If it does not however, that is a bug I'll have to take a look at.
     
  11. wwg

    wwg

    Joined:
    Apr 2, 2014
    Posts:
    121
    @Fewes
    The Broken weather preset no longer works. When it is selected I get this error:
    IndexOutOfRangeException: Index was outside the bounds of the array.
    OC.WeatherPreset.Lerp (OC.WeatherPreset a, OC.WeatherPreset b, System.Single t) (at Assets/OverCloud/Scripts/OverCloud.cs:359)
    OC.OverCloud.UpdateWeather (UnityEngine.Camera camera) (at Assets/OverCloud/Scripts/OverCloud.cs:3904)
    OC.OverCloud.CameraUpdate (UnityEngine.Camera camera) (at Assets/OverCloud/Scripts/OverCloud.cs:3443)
    OC.OverCloudCamera.OnPreRender () (at Assets/OverCloud/Scripts/OverCloudCamera.cs:117)
    I've had this happen several times when using Overcloud, but I'm not sure what is causing it. I think it might happen when I accidentally rename one of the preset the same as an existing preset and the array gets messed up. I can fix it by removing and then re-adding Overcloud to the project, but then I lose all my presets. Any suggestions?

    Thanks!
     
  12. Fewes

    Fewes

    Joined:
    Jul 1, 2014
    Posts:
    148
    I suspect the preset has gotten corrupted somehow. Can you try deleting it from the preset list and re-adding one with the same parameters? That should fix it I think.
     
  13. KarlLakner

    KarlLakner

    Joined:
    Jan 30, 2019
    Posts:
    11
    Hey,

    First off: I am a super super satisfied customer, Overcloud is by far the best cloud/sky system I've worked with, and the results both run AND look spectacular :)

    Now:

    I have a problem with rendering cloud shadows and Lux, the water shader system. (Am posting here first, will post over in the Lux forums as well.)

    Overcloud renders fine, I've applied the compatibility tweaks, and the water renders the way it should, except it doesn't receive any shadows. I am not certain if this is a limitation of Lux and the transparent material/shader, or if there is a workaround? FWIW I don't actually need transparency on the water, if that helps. Have tweaked camera draw distance and shadows, and assets sitting on the waterplane are definitely receiving the shadows, so I know they're being rendered and reaching the area etc.

    Has anyone else here managed to solve this, or is it just a limitation of the Lux shaders?
     
    Fewes likes this.
  14. Fewes

    Fewes

    Joined:
    Jul 1, 2014
    Posts:
    148
    Hi Karl, glad you are happy with OverCloud!

    The shader on the compatibility page is not set up to receive cloud shadows, but this is a really simple addition.
    In LuxWater_Core.cginc, around line 940, just after the line
    Code (CSharp):
    1. UNITY_LIGHT_ATTENUATION(atten, i, worldPos);
    add the code
    Code (CSharp):
    1. atten *= CloudShadows(worldPos);
    Let me know if this works for you! If it does, I'll update the compatibility page.
     
    KarlLakner likes this.
  15. KarlLakner

    KarlLakner

    Joined:
    Jan 30, 2019
    Posts:
    11
    Well, the good news is the changes compile with no errors, and it happily rebuilds the shader, BUT it doesn't produce any shadows...

    Am trying something very hacky atm (a very crap workaround for demoing purposes), will let you know how it goes, but feel free to experiment, as shaders & materials are definitely not my area of expertise :)
     
  16. happyrobotstudio

    happyrobotstudio

    Joined:
    Apr 13, 2019
    Posts:
    14
    Hi,

    Justing having some trouble with URP and 2019.3 getting anything to show up in the demo,

    Done the standard upgrade materials, and re-imported shaders, but no luck,

    Any advice?
     
  17. Fewes

    Fewes

    Joined:
    Jul 1, 2014
    Posts:
    148
    Hi,
    OverCloud only supports the default rendering pipeline (so no HDRP, LWRP, URP or SRPs in general). If you feel you bought the asset in error, you can contact me for a refund.
     
  18. happyrobotstudio

    happyrobotstudio

    Joined:
    Apr 13, 2019
    Posts:
    14
    Ahh I see,

    Apologies! I had been trying to work out LWRP for a while, damn, your clouds look awesome in the vids.

    Ok, thanks
     
  19. wwg

    wwg

    Joined:
    Apr 2, 2014
    Posts:
    121
    @Fewes - After I posted this original message, I removed Overcoud from the scene and re-added it. Everything was fine for a while, then the error appeared again and the "Broken" preset stopped working. Deleting the preset array element and creating a new one (with a different name) doesn't fix the problem. I'm not sure what would be corrupting the preset, but it happens very frequently and is a real pain.
     
    Last edited: Oct 10, 2019
  20. Fewes

    Fewes

    Joined:
    Jul 1, 2014
    Posts:
    148
    That's definitely an issue then. Are you using the custom floats functionality or does it happen regardless?
     
  21. wwg

    wwg

    Joined:
    Apr 2, 2014
    Posts:
    121
    Not using custom floats...not sure I even understand that feature! :)

    Update: after I removed the corrupted preset and then restarted Unity, it seems to be working again.
     
    Fewes likes this.
  22. keeponshading

    keeponshading

    Joined:
    Sep 6, 2018
    Posts:
    352
    Hey. What would be roughly the effort/price for an Overcloud HDRP port.)
     
  23. lizkin

    lizkin

    Joined:
    Jun 22, 2013
    Posts:
    4
    Hello @Fewes,

    I purchased the asset a few days ago. Overall I really like it, thank you for your good efforts.

    I have a minor issue.

    Whenever I move the camera to the exact cloud altitude, I see noise like in the attached screenshot. When I move 1 unit below or over, there is no problem as in the other screenshot.

    How can I solve this problem ?

    (I use AQUAS as water solution in case if it is related)
     

    Attached Files:

  24. Fewes

    Fewes

    Joined:
    Jul 1, 2014
    Posts:
    148
    Great to hear you got it working. I'll take a look at the floats system again for the next patch.

    I don't really have an estimate but it is not something I'm able to put on my plate at the moment, sorry.

    Hi,

    I'll try replicating this on my end, it looks like a shader is outputting an INF value. Does it happen if you turn the volumetric clouds off? (I don't mean that's a solution, but it might help me pinpoint the issue.) Thanks!
     
    Last edited: Oct 14, 2019 at 8:54 PM
  25. lizkin

    lizkin

    Joined:
    Jun 22, 2013
    Posts:
    4
    Thanks for the response @Fewes.

    For pinpointing, I discovered that when I only insert Overcloud to a fresh scene (nothing but only a camera). Add OverCloudCamera to the camera and set the camera Y coordinate to the cloud altitude I obtain the noise.

    scr001.PNG scr002.PNG
     
  26. lizkin

    lizkin

    Joined:
    Jun 22, 2013
    Posts:
    4
    Can you reproduce the problem on your system ?
     
  27. Fewes

    Fewes

    Joined:
    Jul 1, 2014
    Posts:
    148
    Yes, thanks to your detailed info I was able to. The bug is caused by a precision issue with the fallback 2D clouds. I will upload the fix in a patch, but for now if you would like to implement it directly, go to OverCloud/Resources/Shaders/Atmosphere.shader. Find the shader pass labeled "// Pass 6: Volumetric cloud LOD plane" and in the fragment function (fixed4 frag (v2f i) : SV_Target), at the very top, add:
    Code (CSharp):
    1. float3 camera = _WorldCamera;
    2. if (abs(camera.y - _OC_CloudAltitude) < 1)
    3.     camera.y += 2;
    Then, replace any other instance of "_WorldCamera" inside the fragment function with "camera" and you should be good. Let me know if you try it and if it works!
     
  28. lizkin

    lizkin

    Joined:
    Jun 22, 2013
    Posts:
    4
    I tried and the noise disappear, thank you very much :)
     
    Fewes likes this.