Search Unity

[released] Overcloud - Volumetric Sky And Lighting

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

  1. Quiznos323

    Quiznos323

    Joined:
    Oct 26, 2015
    Posts:
    8
    Would it be possible to have the documentation linked somewhere so that we can view it before we buy? It would be nice to check it out to see how the asset would be implemented, and if it fits our specific project requirements :)
     
    christoph_r likes this.
  2. Fewes

    Fewes

    Joined:
    Jul 1, 2014
    Posts:
    126
    Good idea! I have added a link in the description :)
     
    Quiznos323 likes this.
  3. Quiznos323

    Quiznos323

    Joined:
    Oct 26, 2015
    Posts:
    8
    Thanks!
     
  4. keeponshading

    keeponshading

    Joined:
    Sep 6, 2018
    Posts:
    318
    Thanks for this beautiful, versatile and complete volumetric sky solution.

    Unfortunately we are on the way to move to HDRP next months. Hope you find a way and buisness case to port Overcloud when time has come.
    When you click daily in HDRP Repro you see an new physical standard sky is in work. Probably it helps to fast get into.

    Overcloud is also the perfect addition to Crest Ocean.
    https://github.com/huwb/crest-oceanrender
    You can find for free on github for BuiltIn Pipeline. An LWRP version on Asset Store and an HDRP version should follow.
    Probably you can team up with Hugh Bowles to bring OverCloud and Crest together. Crest has also floating origin. Unity would finally have an HQ Ocean and Sky solution.

    Have you thought about an ScreenshotCaptureMode where only the parameters are cranked up who not change current representation as much for an high quality screenshot on key press.
    Tried some time to find the right ones. Probably you could provide such an parameter switch out of the box.
     
    Last edited: Apr 19, 2019
  5. mons00n

    mons00n

    Joined:
    Sep 18, 2013
    Posts:
    219
    This looks fantastic @Fewes. Has it been tested to work with MacOS metal and/or Linux (vulkan/opengl)?
     
  6. Fewes

    Fewes

    Joined:
    Jul 1, 2014
    Posts:
    126
    Multiple people have mentioned Crest support, so it is something I will add for sure. Most likely, things will have to be modified on their end for it to work but I will make sure to write a comprehensive guide on how to do it. To maximize the quality of the renderer, please check the manual FAQ. Thanks!

    I have tested all the graphics APIs on Windows and it works on everything but OpenGLES2. Unfortunately I don't have a machine to test on MacOS or Linux but I would be willing to offer a refund for anyone who dares try and is not happy with the result (besides trying to get it to work, of course). Thanks!
     
    mons00n likes this.
  7. local306

    local306

    Joined:
    Feb 28, 2016
    Posts:
    114
    @Fewes I've been following the development of this for a while, and I am quite impressed with the demo so far.

    As for atmospheric thinning based on elevation (see image near horizon — starts to become black as you get really high), is that automatically controlled via camera elevation, or is that something you controlled via script?



    Also, what is your secret for creating convincing large scale maps as you did in the demo scene? :p I'm quite impressed with how high up you can climb and still get the feeling like you are looking down on Earth and not just a small scale model.
     
  8. Fewes

    Fewes

    Joined:
    Jul 1, 2014
    Posts:
    126
    The thinning effect you see is calculated based on the camera position, yes. The atmosphere will look correct even if you move the camera high up into space, thanks to the atmospheric scattering solution used (Brunetons improved atmospheric scattering). The terrain was generated using World Creator, but it should be noted that most of what you see in that image is the skybox/atmospherics, so it will look like that even without the terrain :)
     
  9. local306

    local306

    Joined:
    Feb 28, 2016
    Posts:
    114
    Thanks for the reply @Fewes.

    Is there a parameter for controlling curvature of the horizon? i.e.) being able to adjust for smaller versus larger planets for example?

    As for the terrain, how large is it in the demo scene? It blends in very well with the horizon created by Overcloud.
     
  10. dyox

    dyox

    Joined:
    Aug 19, 2011
    Posts:
    531
    Hi, you can control the curvature on the material OverCloudMain. (Default is 1)
     
    local306 likes this.
  11. local306

    local306

    Joined:
    Feb 28, 2016
    Posts:
    114
    Thanks!
     
  12. inkostyakov

    inkostyakov

    Joined:
    Nov 14, 2016
    Posts:
    19
    Hi! Congrats with release!
    I started to use your asset and it is great! But I have few questions:
    1) Sun mia is huge. As I understand it's because HDR. But can I make it smaller? Moon mia is good, sunset mia is awesome, I want to change only day sun mia.
    2) I'm using world 1unit = 4meter. Is it some option to scale clouds to align this world?
    3) Is it the way to enable/disble 2D clouds without deleting?
    4) What is the proper way to change 3D cloud params in runtime? I see preset system, but I need more flexability. For example, I want to select one of three preset, and after that change some params. Is it possible?
     
  13. Fewes

    Fewes

    Joined:
    Jul 1, 2014
    Posts:
    126
    Actually, that only scales the curvature of the volumetric clouds but not the atmosphere itself. Currently, it is hard-coded to use earth-like values, but I will look into providing a multiplier for the planet size.

    The terrain in the demo is 100x100km large. The far-clip plane was carefully chosen so that the scene would blend well into the skybox. If the far clip plane is too large and your scene is flat, it might "stick out" from under the clouds.

    Thank you!
    1) You mean the "glow" around the sun is too big/bright during daytime? Unfortunately there is no timeline/keyframing to change parameters over time, but you could easily write a script which changes the mie parameter based on the time value (OverCloud.atmosphere.mieScatteringIntensity and OverCloud.timeOfDay.time).
    2) There is no scale parameter, but you should be able to get the result you want by changing the volumetric noise tiling (Volumetric Clouds > Shape (3D Noise)), the cloud plane radius (Volumetric Clouds > Cloud Plane Radius) and the cloud plane height (Weather Preset > Cloud Plane Height).
    3) Do you mean per-camera, or as a checkbox under 2D Clouds? If you just want to hide them, you can turn down the color alpha.
    4) Currently, no. You can change the runtime parameters (accessed through OverCloud.current), but right now I can't guarantee your changes will be used as the values are interpolated every frame. I would like to add this though and here is my suggested way of doing it: I add a public listener (delegate) AfterWeatherUpdate which you can subscribe to, and any changes you make to OverCloud.current through the listener will be used for the current frame rendering. You would have to keep track of your changes yourself, and you would have to overwrite it every frame but it would be a very simple solution (both for me to implement and for the user to understand). Does that sound good? I'll also add a switch to turn off the automatic interpolation, so the weather system can be entirely user-driven.
     
  14. Fewes

    Fewes

    Joined:
    Jul 1, 2014
    Posts:
    126
    Also, an update on the next patch (1.03). I took the last few days off but I'm aiming on submitting it (along with patch notes) on Tuesday. There are quite a few fixes included and so I hope you will feel it was worth the wait. Thanks!
     
  15. inkostyakov

    inkostyakov

    Joined:
    Nov 14, 2016
    Posts:
    19
    Thanks for responce! I'll try!
     
  16. keeponshading

    keeponshading

    Joined:
    Sep 6, 2018
    Posts:
    318
  17. inkostyakov

    inkostyakov

    Joined:
    Nov 14, 2016
    Posts:
    19
    2) I changed some params, as you say and now it looks good. It looks bad only if cloud height < 150 unit. But it's ok.
    3) It works. Thanks!
    4) Now I use OverCloud.current and OverCloud.instance.UpdateShaderProperties(true). It works.


    I have two more questions.

    1) I can't find how to set wind direction. Is it possible?
    2) As I said, I use OverCloud.current to set cutom params. Set one by one and call OverCloud.instance.UpdateShaderProperties(true). But in this way rain is not appear. Then I use normal preset system with same param rain works normally. Did I missed something?
     
    Last edited: Apr 22, 2019
  18. Fewes

    Fewes

    Joined:
    Jul 1, 2014
    Posts:
    126
    1) The wind direction is fixed to positive x-direction. This might seem like an arbitrary limitation, but it has to do with how the cloud particles scroll with the wind, which is done by a rather complicated system where they essentially loop around their local position. Because of this I had to fix the wind direction, sorry about that.
    2) OverCloud will still run internal code between your calls to that function, which might or might not overwrite your changes. In the next update I will add a way for you to guarantee your changes will be included (eg. rain should appear if you set the precipitation parameter). It will most likely be submitted tomorrow and will be out once it has passed review.
     
  19. inkostyakov

    inkostyakov

    Joined:
    Nov 14, 2016
    Posts:
    19
    1) Any chance that Wind direction will be done in future updates? I looks like very important function for nature simulation.
    2) Thanks a lot!
     
  20. Fewes

    Fewes

    Joined:
    Jul 1, 2014
    Posts:
    126
    Maybe, if there is demand for it. The clouds would not be able to scroll properly but would instead look like in this video (cloud coverage texture scrolls, but the particles are static, resulting in a "swimming" effect):
     
  21. inkostyakov

    inkostyakov

    Joined:
    Nov 14, 2016
    Posts:
    19
    Looks good! I think it will be usefull for many people.
     
  22. iddqd

    iddqd

    Joined:
    Apr 14, 2012
    Posts:
    394
    Great stuff!
     
    Fewes likes this.
  23. Fewes

    Fewes

    Joined:
    Jul 1, 2014
    Posts:
    126
    OverCloud version 1.02 has been submitted for review. The update took slightly longer due to an unforeseen issue with the way the weather presets worked with the custom float values. Here are the patch notes:

    • Added two functions which can be used to tell if a world position is above or below the cloud volume (OverCloud.IsAboveClouds() and OverCloud.IsBelowClouds()). If the position is inside the volume, both functions will return false.
    • Added a function which computes the volumetric cloud visibility between two points (OverCloud.CloudVisibility). This works by sampling the cloud volume at select positions between the two points. Of note is that it is not a 100% accurate representation of the visual result, but for most cases it should be just fine.
    • Added a toggle to the main component which can be used to turn cloud shadows off entirely (Lighting > Cloud Shadows > Enabled). Additionally, rendering of the cloud shadows buffer is now skipped if the opacity/density is too low.
    • Added a toggle on the OverCloudCamera component which allows toggling the downsampling of 2D clouds. Previously, 2D clouds were always downsampled along with the volumetric ones, but this can result in some aliasing depending on your scene setup.
    • Moved the volumetric cloud alpha sliders to the main component (previously located on the material) under Volumetric Clouds > Shape (3D Noise).
    • Fixed an issue where the skybox would render as black in cameras which performed rendering during OnPreCull (such as reflection cameras).
    • Fixed an issue where the scattering mask world-space floor parameter wasn't actually used when calculating the mask.
    • Fixed an issue where the volumetric fog drifted in the skybox when the camera moved very far from the origin.
    • Fixed an issue where the LOD plane for the volumetric clouds would have their alpha attenuated by scene depth against the skybox, making it invisible.
    • Fixed an issue caused by Unity 2019.1 where XRSettings.eyeTextureDesc fails to properly initialized HDR render targets (solved by forcing the color format to DefaultHDR is the camera rendering is HDR enabled).
    • Fixed an issue where OverCloud.timeOfDay was not marked as static as intended.
    • Fixed an issue where the "Add Preset" button at the bottom of the main component was broken. If you are using any custom floats and upgrade, this might break your prefab. To fix this, reimport the prefab fresh from the asset download.
    • Fixed an issue where OverCloud still rendered its own sky even if 'Override Skybox Material' was unchecked.
    • Updated some default values of the OverCloud prefab.

    Thank you!
     
    Last edited: Apr 25, 2019
    iddqd likes this.
  24. Scorpio1990

    Scorpio1990

    Joined:
    Aug 31, 2013
    Posts:
    4
    Hi~When I build the VR project . A strange bright edge appears on the horizon . how can i revise this problem
     

    Attached Files:

  25. Fewes

    Fewes

    Joined:
    Jul 1, 2014
    Posts:
    126
    Hi. This looks like it could be an issue with the camera far clip plane being too low, could you try increasing it and see if it still happens?
     
  26. Scorpio1990

    Scorpio1990

    Joined:
    Aug 31, 2013
    Posts:
    4
    Hi. now I'm using the new version (1.0.2). but raises a new issue in the Skybox...
    Unity 2018.3 & Unity 2019.1 Graphics card : RTX 2070
    upload_2019-4-27_10-8-28.png
     
  27. Fewes

    Fewes

    Joined:
    Jul 1, 2014
    Posts:
    126
    Hi, I'm aware of this and a fix has been submitted. If you would like to fix it on your end immediately, go to OverCloud/Resources/Shaders/Atmosphere.shader and on line 114, change
    #if !OVERCLOUD_SKY

    to
    #if !OVERCLOUD_SKY_ENABLED
     
  28. Scorpio1990

    Scorpio1990

    Joined:
    Aug 31, 2013
    Posts:
    4
    I change it in this way ,but atmosphere will flickers a lot . and some new warning appear in Atmosphere.shader
     
  29. Fewes

    Fewes

    Joined:
    Jul 1, 2014
    Posts:
    126
    Flickers in what what? Could you provide a screenshot or video? What warning appears in the shader?
     
  30. Fewes

    Fewes

    Joined:
    Jul 1, 2014
    Posts:
    126
    1.02 is now out on the asset store. If you already downloaded it, I recommend doing an extra check as I submitted a hotfix which removed some rogue files which made it into the update. Cheers!
     
  31. inkostyakov

    inkostyakov

    Joined:
    Nov 14, 2016
    Posts:
    19
    Hi! I have some issues. Maybe you can help me.

    1) Very often in Editor after uncheck Run mode I have error
    Code (CSharp):
    1. transform.position assign attempt for 'CloudLOD' is not valid. Input position is { 0.000000, NaN, 634.920654 }.
    2. 0x0000000141535DE8 (Unity) StackWalker::GetCurrentCallstack
    3. 0x000000014153C326 (Unity) StackWalker::ShowCallstack
    4. 0x000000014140B85B (Unity) GetStacktrace
    5. 0x00000001408AF3B0 (Unity) DebugStringToFile
    6. 0x000000014019D126 (Unity) Transform::SetPosition
    7. 0x000000014197CA37 (Unity) Transform_CUSTOM_set_position_Injected
    8. 0x000000003BBA4B85 (Mono JIT Code) (wrapper managed-to-native) UnityEngine.Transform:set_position_Injected (UnityEngine.Vector3&)
    9. 0x000000003BBA4A11 (Mono JIT Code) UnityEngine.Transform:set_position (UnityEngine.Vector3)
    10. 0x000000004EFD107E (Mono JIT Code) [OverCloud.cs:3953] OC.OverCloud:UpdatePosition (UnityEngine.Camera)
    11. 0x000000004EFCFD79 (Mono JIT Code) [OverCloud.cs:3366] OC.OverCloud:PositionCloudVolume (UnityEngine.Camera)
    12. 0x000000004EFCF4B2 (Mono JIT Code) [OverCloudCamera.cs:81] OC.OverCloudCamera:OnPreRender ()
    13. 0x0000000001BE7A42 (Mono JIT Code) (wrapper runtime-invoke) object:runtime_invoke_void__this__ (object,intptr,intptr,intptr)
    14. 0x00007FFFC8E5671B (mono) [mini.c:4937] mono_jit_runtime_invoke
    15. 0x00007FFFC8DA8A71 (mono) [object.c:2623] mono_runtime_invoke
    16. 0x0000000140C04A1A (Unity) scripting_method_invoke
    17. 0x0000000140BFCDC0 (Unity) ScriptingInvocation::Invoke
    18. 0x0000000140BB839D (Unity) MonoBehaviour::HandleNotifications
    19. 0x000000014059F6E4 (Unity) GameObject::SendMessageAny
    20. 0x0000000140EAE196 (Unity) Camera::RenderEditorCamera
    21. 0x0000000140EAF3E6 (Unity) Camera::RenderEditorCamera
    22. 0x00000001422D86D4 (Unity) Handles_CUSTOM_Internal_DrawCameraWithGrid
    23. 0x0000000053AD199B (Mono JIT Code) (wrapper managed-to-native) UnityEditor.Handles:Internal_DrawCameraWithGrid (UnityEngine.Camera,UnityEditor.DrawCameraMode,UnityEditor.DrawGridParameters&)
    24. 0x000000005046E1EE (Mono JIT Code) [Handles.cs:1302] UnityEditor.Handles:DrawCameraImpl (UnityEngine.Rect,UnityEngine.Camera,UnityEditor.DrawCameraMode,bool,UnityEditor.DrawGridParameters,bool,bool)
    25. 0x000000005046D7CE (Mono JIT Code) [Handles.cs:1325] UnityEditor.Handles:DrawCameraStep1 (UnityEngine.Rect,UnityEngine.Camera,UnityEditor.DrawCameraMode,UnityEditor.DrawGridParameters)
    26. 0x000000005046C2F2 (Mono JIT Code) [SceneView.cs:1234] UnityEditor.SceneView:DoDrawCamera (UnityEngine.Rect,bool&)
    27. 0x0000000050449F34 (Mono JIT Code) [SceneView.cs:1725] UnityEditor.SceneView:OnGUI ()
    28. 0x0000000001BE7A42 (Mono JIT Code) (wrapper runtime-invoke) object:runtime_invoke_void__this__ (object,intptr,intptr,intptr)
    29. 0x00007FFFC8E5671B (mono) [mini.c:4937] mono_jit_runtime_invoke
    30. 0x00007FFFC8DA8A71 (mono) [object.c:2623] mono_runtime_invoke
    31. 0x00007FFFC8DAEF87 (mono) [object.c:3838] mono_runtime_invoke_array
    32. 0x00007FFFC8D6D3A2 (mono) [icall.c:2763] ves_icall_InternalInvoke
    33. 0x0000000001BB0B17 (Mono JIT Code) (wrapper managed-to-native) System.Reflection.MonoMethod:InternalInvoke (object,object[],System.Exception&)
    34. 0x0000000001BAEC62 (Mono JIT Code) [MonoMethod.cs:222] System.Reflection.MonoMethod:Invoke (object,System.Reflection.BindingFlags,System.Reflection.Binder,object[],System.Globalization.CultureInfo)
    35. 0x000000003BA60EFF (Mono JIT Code) [MethodBase.cs:115] System.Reflection.MethodBase:Invoke (object,object[])
    36. 0x000000003BB3D835 (Mono JIT Code) [HostView.cs:295] UnityEditor.HostView:Invoke (string,object)
    37. 0x000000003BB3D6DA (Mono JIT Code) [HostView.cs:288] UnityEditor.HostView:Invoke (string)
    38. 0x000000003EB2A3CD (Mono JIT Code) [HostView.cs:255] UnityEditor.HostView:InvokeOnGUI (UnityEngine.Rect)
    39. 0x000000003C843AA1 (Mono JIT Code) [DockArea.cs:392] UnityEditor.DockArea:OldOnGUI ()
    40. 0x000000003C82FD0C (Mono JIT Code) [IMGUIContainer.cs:216] UnityEngine.Experimental.UIElements.IMGUIContainer:DoOnGUI (UnityEngine.Event,bool)
    41. 0x000000003C82E632 (Mono JIT Code) [IMGUIContainer.cs:376] UnityEngine.Experimental.UIElements.IMGUIContainer:HandleIMGUIEvent (UnityEngine.Event)
    42. 0x000000004105BCFD (Mono JIT Code) [IMGUIContainer.cs:88] UnityEngine.Experimental.UIElements.IMGUIContainer:DoRepaint (UnityEngine.IStylePainter)
    43. 0x0000000041056557 (Mono JIT Code) [Panel.cs:732] UnityEngine.Experimental.UIElements.Panel:PaintSubTree (UnityEngine.Event,UnityEngine.Experimental.UIElements.VisualElement,UnityEngine.Matrix4x4,UnityEngine.Experimental.UIElements.VisualElement/ClippingOptions,UnityEngine.Rect)
    44. 0x000000004105B957 (Mono JIT Code) [Panel.cs:748] UnityEngine.Experimental.UIElements.Panel:PaintSubTreeChildren (UnityEngine.Event,UnityEngine.Experimental.UIElements.VisualElement,UnityEngine.Matrix4x4,UnityEngine.Experimental.UIElements.VisualElement/ClippingOptions,UnityEngine.Rect)
    45. 0x0000000041056756 (Mono JIT Code) [Panel.cs:736] UnityEngine.Experimental.UIElements.Panel:PaintSubTree (UnityEngine.Event,UnityEngine.Experimental.UIElements.VisualElement,UnityEngine.Matrix4x4,UnityEngine.Experimental.UIElements.VisualElement/ClippingOptions,UnityEngine.Rect)
    46. 0x000000004104FCC1 (Mono JIT Code) [Panel.cs:778] UnityEngine.Experimental.UIElements.Panel:Repaint (UnityEngine.Event)
    47. 0x000000003C805C91 (Mono JIT Code) [UIElementsUtility.cs:227] UnityEngine.Experimental.UIElements.UIElementsUtility:DoDispatch (UnityEngine.Experimental.UIElements.BaseVisualElementPanel)
    48. 0x000000003C8058CB (Mono JIT Code) [UIElementsUtility.cs:74] UnityEngine.Experimental.UIElements.UIElementsUtility:ProcessEvent (int,intptr)
    49. 0x000000003C8053ED (Mono JIT Code) [GUIUtility.cs:171] UnityEngine.GUIUtility:ProcessEvent (int,intptr)
    50. 0x000000003C8055AE (Mono JIT Code) (wrapper runtime-invoke) <Module>:runtime_invoke_bool_int_intptr (object,intptr,intptr,intptr)
    51. 0x00007FFFC8E5671B (mono) [mini.c:4937] mono_jit_runtime_invoke
    52. 0x00007FFFC8DA8A71 (mono) [object.c:2623] mono_runtime_invoke
    53. 0x0000000140C04A1A (Unity) scripting_method_invoke
    54. 0x0000000140BFCDC0 (Unity) ScriptingInvocation::Invoke
    55. 0x0000000140BF7E8A (Unity) ScriptingInvocation::Invoke<bool>
    56. 0x0000000140416D49 (Unity) IMGUIScriptingClasses::ProcessEvent
    57. 0x0000000141397AD4 (Unity) GUIView::ProcessRetainedMode
    58. 0x00000001415CDE92 (Unity) GUIView::OnInputEvent
    59. 0x0000000141397A5C (Unity) GUIView::ProcessInputEvent
    60. 0x00000001415C55CE (Unity) GUIView::DoPaint
    61. 0x00000001415D0170 (Unity) GUIView::RepaintAll
    62. 0x000000014144B032 (Unity) PlayerLoopController::UpdateScene
    63. 0x00000001414490C3 (Unity) Application::TickTimer
    64. 0x00000001415E7C55 (Unity) MainMessageLoop
    65. 0x00000001415EA048 (Unity) WinMain
    66. 0x000000014242FA4A (Unity) __scrt_common_main_seh
    67. 0x00007FF806144034 (KERNEL32) BaseThreadInitThunk
    68. 0x00007FF808163691 (ntdll) RtlUserThreadStart
    69.  
    I shows again and again. It can be fixed by deleting Overcloud object and press Ctrl+Z after it. Error appears in Editor mode only. In Run mode everything works fine.

    2) I have some troubles with transparent materials. For example:
    Opaque standart material

    Opaque.png
    Transparent standart material
    Transparent.png
     

    Attached Files:

  32. keeponshading

    keeponshading

    Joined:
    Sep 6, 2018
    Posts:
    318
    Hi,
    thanks the new update solved the problem in Defered and Forward Rendering.

    Would it be possible to get the cloud shadows to work in Forward Rendering Mode?
    To integrate Overcloud as StandardSky in our scenario Forward Rendering would be needed for now because of
    having MSAA and TAA togerther. To have the cloud shadows would be nice.
    At the moment they disapear by switching to Forward Rendering.

    I know the rain on surface is hard to do in Forward Rendering. But we could live with it.
    However if both, shadows and rain would be possible . Would be killer.

    Her some testings with realtime flares, ground shadow, and light probes fore the cube.
    8xMSAA + CTAA + NGSS2 shadows.
    Should work then in VR too with best framerates and no visible Aliasing.

    Fantastic product you did.

    02.JPG


    01.JPG
     
    Last edited: Apr 29, 2019
  33. Fewes

    Fewes

    Joined:
    Jul 1, 2014
    Posts:
    126
    Hi! The errors seem to be related to the renderer object which is instantiated when OverCloud is enabled. It has its flags set to HideAndDontSave, so for now you should be fine with just ignoring the error, but I will look into fixing it for 1.03. Thank you for providing the error log.
    Transparent shaders don't "just work" but need to be modified to support the effects OverCloud provides. There is a section in the manual explaining how to do this. Your image looks a bit strange however, could you provide another one with wireframe on so I can see the trail mesh? Thanks!

    I'm glad to hear the update fixed the problem. It is possible to have cloud shadows in forward rendering mode, but they will be limited to the range of your directional shadows. Set 'Mode' to 'Injected' under the lighting settings and they should appear.
    To extend the range of the shadows beyond that of the directional shadows in forward rendering mode, and to add support for wet surfaces, you have to use custom shaders. If this is something you are using, please let me know and I will explain how to add support to them. Thanks!
     
  34. inkostyakov

    inkostyakov

    Joined:
    Nov 14, 2016
    Posts:
    19
    Thanks for reply! Could you provide any shader example for understanding? I'm not good with shaders, but one example would be enough to further modifications.
     
  35. Wonderm

    Wonderm

    Joined:
    Apr 18, 2014
    Posts:
    6
    There is something wrong with atmosphere , scattering effect penetrated the wall when camera was set in low and far position. Just like the image
    TIM20190430175241.png
     
  36. Fewes

    Fewes

    Joined:
    Jul 1, 2014
    Posts:
    126
    Are you using the scattering mask + directional shadows? If you look at a surface which is between the camera and the sun without the scattering mask, this will happen. There is a slider specifically to counter-act this, which you can use to tone down the Mie scattering based on distance: Atmosphere > Mie Scattering > Distance Fade. Let me know if this works!
     
  37. Wonderm

    Wonderm

    Joined:
    Apr 18, 2014
    Posts:
    6

    "Distance Fade" worked only if "Render Scattering Mask" was unchecked .
     
  38. Fewes

    Fewes

    Joined:
    Jul 1, 2014
    Posts:
    126
    Yes, that is intended. If the scattering mask is enabled, it is meant to take care of the masking. Would you prefer if the distance fade worked in both modes?
     
  39. Wonderm

    Wonderm

    Joined:
    Apr 18, 2014
    Posts:
    6
    Yep,thank you for reply.
     
  40. Fewes

    Fewes

    Joined:
    Jul 1, 2014
    Posts:
    126
    In OverCloud.cs, around line 2786, change
    _OC_MieScatteringParams.value = new Vector4(atmosphere.mieScatteringIntensity * 0.1f, atmosphere.mieScatteringPhase, atmosphere.mieScatteringFogPhase, renderScatteringMask && includeCascadedShadows ? 1 : Mathf.Pow(1-atmosphere.mieScatteringDistanceFade, 8));

    to
    _OC_MieScatteringParams.value = new Vector4(atmosphere.mieScatteringIntensity * 0.1f, atmosphere.mieScatteringPhase, atmosphere.mieScatteringFogPhase, Mathf.Pow(1-atmosphere.mieScatteringDistanceFade, 8));


    For the next update I will split the parameter into two, one which is active if the scattering mask is present and one for when it is not.
     
  41. Fewes

    Fewes

    Joined:
    Jul 1, 2014
    Posts:
    126
    Certainly. Here is a simple transparent shader which samples the atmosphere effects and blends with the clouds. Note that you have to place it in Assets/Shaders, or otherwise modify the include path to OverCloudInclude.cginc in the shader itself.
     

    Attached Files:

  42. Fewes

    Fewes

    Joined:
    Jul 1, 2014
    Posts:
    126
    A minor update has been submitted, which fixes an issue with the cloud buffer not clearing in a built player running multi-pass stereo rendering, resulting in a smearing effect. If you were experiencing issues with this before, it should be solved now. Cheers!
     
    Last edited: May 2, 2019
  43. gevasaf

    gevasaf

    Joined:
    Jan 25, 2014
    Posts:
    2
    Bought this on the asset store and it blew my mind! Looks amazing!!

    Question -
    I'm trying to record a 360 stereoscopic video of a scene I created using overcloud, but for some reason the unity recorder records completely black frames. When I'm recording a untiy scene with the default skybox, it's recording just fine.

    It's really frustrating because my target platform is way too weak to run overcloud, and I want to be able to incorporate it as a pre-rendered layer...

    here's unity recorder:
    https://assetstore.unity.com/packages/essentials/unity-recorder-94079

    and here is the manual for the function it's using to capture 360:
    https://docs.unity3d.com/ScriptReference/Camera.RenderToCubemap.html

    Any idea how to solve?
     
    Last edited: May 4, 2019
  44. Wonderm

    Wonderm

    Joined:
    Apr 18, 2014
    Posts:
    6
    Hi,i may find a issue here , there always be some little flat cloud behind the volume ones,
    it shows obvious when camera farclip was set to 6000 from 60000 ,
    but it works well when camPos.y < 0 and boomed when camPos.y >0
    here is the sreenshoot , waiting for solutions
    01.png 02.png 03.png 04.png
     
  45. Fewes

    Fewes

    Joined:
    Jul 1, 2014
    Posts:
    126
    This is because Camera.RenderToCubemap cannot render image effects of any kind. The reason the sky is black is because OverCloud renders the sky in the same pass as the atmosphere if it can to save some performance. The OverCloudReflectionProbe script contains code for rendering everything to a cubemap properly, but it might not be super easy to incorporate this into the recorder asset. I'll take a look and see if it's possible to fix it.

    This is actually intended as a fallback for when the volumetric clouds can't render, either because of far clip distance or cloud plane range. The reason they disappear when the camera is below ground is the view ray intersects the cloud sphere before it can intersect the clouds. The next version will have an option for disabling these flat clouds as I've realized not everyone wants to use them. Thanks!
     
    Last edited: May 5, 2019
    dyox likes this.
  46. untn

    untn

    Joined:
    Mar 30, 2019
    Posts:
    2
    Issue with Unity 2019, Volumetric Clouds not working.

    In a fresh new scene I dragged the prefab to the scene seems the volumentric and 2D clouds not working, is there anything I can do or install to fix this. thanks
     

    Attached Files:

    Last edited: May 7, 2019
  47. Fewes

    Fewes

    Joined:
    Jul 1, 2014
    Posts:
    126
    Hi! Did you add an OverCloudCamera component to your camera?
     
    untn likes this.
  48. untn

    untn

    Joined:
    Mar 30, 2019
    Posts:
    2
    I added OverCloudCamera to the Camera and now it works.

    Thank you
     
    Fewes likes this.
  49. Fewes

    Fewes

    Joined:
    Jul 1, 2014
    Posts:
    126
    No problem, let me know if more questions or issues pop up.
     
  50. Fewes

    Fewes

    Joined:
    Jul 1, 2014
    Posts:
    126
    OverCloud version 1.03 has been submitted and is awaiting review. Here are the patch notes:

    • Added a flag to the OverCloudCamera component which allows toggling the rendering of the 2D fallback clouds, which normally are rendered in place of the volumetric clouds.
    • Split the mie scattering distance fade parameter into two: One which is used when the scattering mask is active, and one when it is not. This allows for more control in both scenarios.
    • Fixed an issue where some old code complained that the blue noise texture (which is no longer used) was not present.

    Cheers!
     
    keeponshading likes this.