Search Unity

Azure[Sky] - Dynamic Skybox

Discussion in 'Works In Progress' started by DenisLemos, May 1, 2015.

  1. ftejada

    ftejada

    Joined:
    Jul 1, 2015
    Posts:
    533
    I agree with you. Another thing is a GI in real time ... Let's see how Unity evolves in the coming years.

    Talking about the question I raised, this is how I configured it, without the Timeline for the intensity of light ... so that the intensity has a value depending on the angle of perpendicularity. After several tests I see that Azure takes into account what I said and works perfectly.

    Thanks Denis. a greeting
     
    DenisLemos likes this.
  2. DenisLemos

    DenisLemos

    Joined:
    May 1, 2015
    Posts:
    502
    Working in Progress

    Weather Zones: The next big update of Azure[Sky] Dynamic Skybox will support weather zones, it is based on the volumes from post-processing v2 and will work pretty much the same way.

    To create a weather zone, the user only needs to add the "AzureSkyWeatherZone.cs" to some GameObject that contains a collider. Each weather zone contains a field to place a day profile with the sky settings for that zone and also the option to set the blend distance.
    WeatherZone.JPG


    The current "Climate" tab of sky controller will be replaced by the new "Profile Controller" tab.
    ProfileController.JPG
    This tab will be responsible for the climate control, profile storage, blending the profiles and everything related to the profiles.
    • Local Zone Trigger: Transform that will be drive the local weather zone blending feature. Setting this field to 'null' will disable local weather zones (global one will still work).

    • Global Weather Profiles: Stores the profiles used to control the global climate.

    • Default Day Profiles: Stores the default day profiles. A random profile from this list will be used by sky controller every time the next day starts.

    • Local Weather Zones: After creating the weather zones as explained above, you must add them to this list and arrange them according to the priority. For performance and organization reasons, the sky controller will process only the weather zones contained in the list. When the trigger transform is inside or influenced by any weather zone, the global sky settings will be automatically blended to the profile settings of that local weather zone.
     
    ftejada and transat like this.
  3. DenisLemos

    DenisLemos

    Joined:
    May 1, 2015
    Posts:
    502
    Working in Progress...

    Property Type: Another new feature that will be available in the next update is the possibility to choose the type of each property in the profile settings. Many times the users sets a linear value on the curve because he either does not want or does not need different values at different times of the day for that property, in that case, it does not make sense to use a curve and the best option would be to use a slider that is easier to configure and also requires less computation.
    PropertyType.jpg
    In the current version of Azure[Sky], almost all properties are curve fields and it is not possible to change the type, now the user will have more options and will be able to decide what is the most appropriate way to do the customization depending on each circumstance.

    Slider Type: It is easier to customize and performs better, the value stays the same throughout the day cycle, but it is still possible to change the sky customization by blending the profiles using the climate system.

    Animation Curve Type: It increases the customization capacity making it possible to define different values to the property at different times of the day without changing the profile. It is possible to evaluate the curve based on the timeline, sun elevation or moon elevation. You can set to curve type only the properties that you want dynamic values.

    The profiles blending will still work even if the properties are defined with a different type in each profile.
     
    Last edited: Apr 17, 2019
  4. ftejada

    ftejada

    Joined:
    Jul 1, 2015
    Posts:
    533
    Hi @DenisLemos !!!

    I have a small problem that I do not know how to solve, I explain to you:

    I want to use the Directional Light Color of the Azure Profile with the "Sun" setting so that the color depends on the degrees of inclination of the sun.

    But I want to achieve that the color at dawn is different from that of the sunset (for example, at dawn, more celseste tones and at sunset more orange tones) ...

    How can I achieve this by keeping the "Sun" configuration in the profile ???
    Any ideas?

    regards
     
  5. DenisLemos

    DenisLemos

    Joined:
    May 1, 2015
    Posts:
    502
    With the curve mode based on the sun elevation, this will not be possible. If for some reason you can not use the curve mode based on the timeline, then the only way is to use two different profiles, a profile for the dawn and another profile for the sunset.

    From a certain time of day, you can then change the calendar profile to the profile with the sunset settings or even use the weather system to switch between the profiles.
     
    ftejada likes this.
  6. ftejada

    ftejada

    Joined:
    Jul 1, 2015
    Posts:
    533
    how do I have to call and with what function to change the profiler through script in runtime?
     
  7. DenisLemos

    DenisLemos

    Joined:
    May 1, 2015
    Posts:
    502
    If you use the climate system, simply add the profile with the sunset settings to the "Weather Profiles" list and change the weather to this profile using the "SetNewWeatherProfile (int target)" method and pass as parameter the profile number in the list.

    Another option is to change the calendar day profile directly in the list that stores all day profiles of the calendar, the script below shows a simple example of how to do this at the start event.
    Code (CSharp):
    1.  
    2. using UnityEngine;
    3. using UnityEngine.AzureSky;
    4.  
    5. public class ChangeProfile : MonoBehaviour
    6. {
    7.  
    8.     public AzureSkyController skyController;
    9.     public AzureSkyProfile sunsetProfile;
    10.     private int m_dayToChange;
    11.  
    12.     // Use this for initialization
    13.     private void Start ()
    14.     {
    15.         m_dayToChange = skyController.timeOfDay.GetDayOfYear();
    16.         skyController.calendarProfileList[m_dayToChange] = sunsetProfile;
    17.     }
    18. }
    Ps: The calendar profiles will be removed if I successfully implement the event system because it will be possible to control anything in the game using the event system.

    For example:
    • It will be possible to create an event at a specific date and time to change the day profile or change the weather.
    • You can use the same event to send messages to any GameObject and call methods.
    • You can create another event with a specific date and time to activate a volcano, to detonate a bomb, to destroy a bridge, to create a new building, etc... The possibilities will be huge and will depend on your imagination.
     
    ftejada likes this.
  8. ftejada

    ftejada

    Joined:
    Jul 1, 2015
    Posts:
    533
    It sounds very good ... I'll try it when you add it ... I'm sure you'll implement it
    Regards!!
     
  9. DenisLemos

    DenisLemos

    Joined:
    May 1, 2015
    Posts:
    502
    Working in progress...

    Moon Light Scattering: The next big update of Azure[Sky] Dynamic Skybox will take advantage of the same equations that calculate the sunlight scattering to also compute the sun light reflected by the moon and render the night sky more realistically. So the Scattering tab variables used to set the scattering of sunlight at daytime will also influence the night sky when there is moon in the sky. Currently, the moon's brightness in the sky is made through a fake effect.

    And the variety of customization remains plentiful.
    NightSky1.png NightSky2.png NightSky3.png

    As you can see in the first screenshot, when you hold the mouse over a property the tooltip with the description of each property is now shown in the custom Inspector, avoiding having to check the documentation.
     
  10. glenneroo

    glenneroo

    Joined:
    Oct 27, 2016
    Posts:
    42
    Sorry if this has already been asked, I didn't find anything while searching...

    Is it possible to somehow change the dynamic clouds from wispy to fluffy cumulus, similar to the static cumulus clouds?
     
  11. DenisLemos

    DenisLemos

    Joined:
    May 1, 2015
    Posts:
    502
    Hi!
    The 2D dynamic clouds currently do not support changing the cloud shape.

    In fact, 2D dynamic clouds were developed to be just a simple cloud layer integrating a cloud system with multiple layers of clouds. But I have not yet succeeded in implementing volumetric clouds for several reasons, the main one being my computer that is not modern enough to support advanced rendering techniques keeping good performance.

    The performance is a factor taken very seriously in the development of the asset and each feature is carefully planned to achieve the best performance and make the asset reliable for production. I'm researching a way to create realistic cloud shapes while maintaining good performance, if I can implement volumetric clouds that work with good performance on my computer, then this will work on almost all computers out there.

    [Edited]
    Soon I'll do a test with the static and dynamic clouds running together in a shader of multiple layer clouds. I think this can improve the current cloud system provisionally until the possible implementation of volumetric clouds.
     
    Last edited: Apr 29, 2019
    Quique-Martinez likes this.
  12. DenisLemos

    DenisLemos

    Joined:
    May 1, 2015
    Posts:
    502
    Working in progress...

    Event Sytem: The event system is another great new feature that will be available in the next update of Azure[Sky] Dynamic Skybox. This is one of the features I consider to be the coolest one I've ever implemented so far being extremely useful and powerful.

    This is the Event System tab by default. Nothing too much, just an empty list.
    EventSystemTab1.png

    But in this list you can add, move or remove as many Azure's events as you want, I'll call those events as "Event Actions".

    In each of the "Event Actions" created, you will be able to:
    • Sets the date and time at which the event should be played.
    • Create as many UnityEvents as you want and use them to control and modify anything in your game.
    Exemple:
    EventSystemTab2.png

    In the image above I created four "Event Actions".
    • Event Action 0: It is set to be played at 12h00 on January 01, 2019.
      It contains two UnityEvent:
      • The first one calls the "SetNewWeatherProfile()" method from the "Azure Sky Manager" used to change the global weather. Was sent the value 1 as the parameter, that corresponds to the profile placed at the element 1 in the Global Weather list, that in the screenshot below is the overcast profile.
        ProfileControllerTab.png
      • Just as exemple the second invokes the "ExplodeBomb()" method from the "Game Manager" script.
    • Event Action 1: It is set to be played at 12h15 on January 01, 2019. It contains only one UnityEvent that call again the "SetNewWeatherProfile()" method and pass as parameter the value -1. In the Global Weather list as any other list there is no index -1, but in this case that is used just as a trick to link the weather transition to the default day profile. In other words, this Event Action is only used to change the global weather back to the default profile.

    • Event Action 2 and Event Action 3: Actually, they do nothing, I just created them to show that it is possible to fold and unfold the Event Actions so they do not overload the Inspector.

    Scan Mode: As the Event Actions are performed according to the date and time, there is no need to waste performance by checking each event every frame, instead, this is done only when the time of day changes. So the "Scan Mode" sets when the 'Sky Manager' will scan the event list to check if it needs to invoke some Event Action.
    ScanMode.png
    • Every Minute: Check each Event Action every time it changes the minute of the time of day in gameplay. If for example the day cycle is set to 24 minutes, then the scan will be done once per second in the real world time and once per minute in game time.

    • Hourly: Check each Event Action every time it changes the hour of the time of day in gameplay. If for example the day cycle is set to 24 minutes, then the scan will be done once per minute in the real world time and once per hour in game time.
    The scan mode is literally a performance saver making the event system have almost no impact on performance.


    You can still cause the event system to ignore dates or times by setting the value -1 to the field you want the scanner to disregard when checking the event list.
    For example, to make an event be repeated at the same time every day at 6:00 p.m., just set the -1 value in each field corresponding to the date settings.
    EventSkipDateExemple.png
    The above setting causes the Event Action to be played every day at 18h:00. The day, month and year will not be considered in this case. If for example you just change the setting above by setting the year to 2019, the Event Action will be played at 18h:00 of every days of the year 2019 and nothing else.

    Thank you so much for taking the time to read this far!
     
    ftejada and Acissathar like this.
  13. Glitch12

    Glitch12

    Joined:
    Mar 23, 2018
    Posts:
    23
    Hello Azure [Sky] Dynamic Skybox does not support Volumetric Lighting ?
     
  14. DenisLemos

    DenisLemos

    Joined:
    May 1, 2015
    Posts:
    502
    This feature has not yet been implemented, it is likely that I will give it a try after the release of the update I am currently working on, but this will also depend on other circumstances.
     
    Glitch12 likes this.
  15. ftejada

    ftejada

    Joined:
    Jul 1, 2015
    Posts:
    533
    I'm not sure, but it seems to me that in the new versions of Unity 2019.x with hdrp unity comes standard light and fog volumetric?

    Does anyone know if this is the case? I have not had time to try the new Unity hdrp 2019
     
  16. DenisLemos

    DenisLemos

    Joined:
    May 1, 2015
    Posts:
    502
    Working in progress...

    New Output System: The output system has just been taken to another level. In the current version of Azure[Sky] it is possible to create outputs to control elements of your game according to the change of time of day, this is a very useful feature, but the problem is that in the current version it does not support climate changes(it means that is not possible to set different values to the outputs in different weather conditions).

    But now the Output System has been fully integrated with the profiles and will work with the Climate System, supporting profile blends and weather zones. Basically what this feature provides is that you can integrate Azure[Sky] with any other third-party asset.

    For example: Do you need a property to control the wetness of your favorite terrain shader? No problem just create a slider output and set the appropriate value in each profile, eg: In the rain profile, you set the value of this output to the maximum, in the sunny day profile you reduce the output value to zero. So with a simple script just take the value of this output and send it to your terrain shader.

    Do you need a property to control the snow cover of your favorite terrain shader? No problem, you can create as many outputs as you need.

    This is a screenshot of the Output System tab. In this tab, you can create as many outputs as you need, set the type and write a description of its functionality to help you remember why you created it. As you can see, I've created 5 outputs of different types just for demonstration.
    OutputSystem.png

    The Sky Manager will search for all profiles in the project and automatically create the outputs in each profile. You can create, delete or change the type of each output that Azure[Sky] will do the process automatically in each profile for you.

    After creating the outputs, this is how the "Outputs" tab of each profile looks like, ready for you to customize the new properties that you have created.
    OutputProfileTabCustomization.png

    Now you just have to customize the new properties in each of the profiles with the appropriate value for each weather zone or weather conditions, that the Sky Manager will automatically perform the profile blends fully integrated with the climate system and weather zones transitions and store the resulting values in the Outputs list where you can access by script and use to do anything you want.

    Output Tag: As I developed this feature, I figured out that it is not a good idea to make changes to all profiles from the project, because depending on the case it is possible that the user will use the Sky Manager in more than one scene and in this way the Sky Manager will overwrite all the outputs created by the other scene and broken the system. For this reason, it was necessary to create an output tag system to separate the outputs into groups, so the Sky Manager will create and modify only the outputs from the profiles in the project that contain the same tag defined in the Output System tab of the Sky Manager.
     
    ftejada and Quique-Martinez like this.
  17. MightyAnubis

    MightyAnubis

    Joined:
    Jan 29, 2018
    Posts:
    19
    Just short: We talk about Youtube befoure, i think you did a very great Job! To see what is coming here brings a lot of Fun, and will be the Azur only made more "Must have"

    Very nice!
    one Hint (only for Example)

    How about, your Daytimes to do Static ? For Example: "AzureNight" "AzureDay" (should be easy to made)

    So that everyone can bring Events in Scripts or his Gamecontroller esaly to a Time of day (for Example:

    if(AzureNight == True)
    {StreetLampsOn=true;}

    Just an Idea to make an easy Workflow for a lot of GameThings, that happens @ Day or Night :)
     
  18. DenisLemos

    DenisLemos

    Joined:
    May 1, 2015
    Posts:
    502
    There are already some ways to know if it's day or night.
    • You can check whether the sky controller "IsDaytime" is true or not.
    • You can change the variable "m_sunElevation" to public instead of private and use it to know if it's day or night.
    • You can create a curve output and set the value to 0.0 at night and set the value to 1.0 at daytime, by accessing the current value of the output you can then find out if it is day or night.


    The upcoming Event System will be a game changer for exactly that reason.
     
    glenneroo likes this.
  19. MightyAnubis

    MightyAnubis

    Joined:
    Jan 29, 2018
    Posts:
    19
    Yes i know.
    I for myself did the following:
    I did the m_timelineGradientTime static, and read it out into my Gamestats. The + at this is, you have full Control about, and the "Scale" of the Daytime, is not of Interest, because the Stats is everytime the same. Works brillant to me :)
    Very nice.

    The Event System i think will be a big GameChanger, but for me i dont know, i just oldscool and try to have all the "combithings" always in my GameController / GameStats scripts. At the End this is not important, important is what Azure doing, and made for your Game.

    And i think, this is a such beautiful, great performed and also Flexible Asset, that it is for me one of the best Things in the wohle Assetstore. For me is the point reached, i can not imagine, a Scene without Azur, i just love it.

    :)
    happy to see the Update, keep up the good Work :)

    ( ...
    Tageszeit = AzureSkyController.m_timelineGradientTime; // Wichtig der muss in der Azur auf static.
    // oben muss rein using UnityEngine.AzureSky;

    if (Tageszeit > 0.27 && Tageszeit < 0.70)
    {
    StatusEsIstNacht = false;
    StatusEsIstTag = true;
    }
    else
    {
    StatusEsIstTag = false;
    StatusEsIstNacht = true; }
    ..)

    ( I do not need it 100% exactly, just: Sunrise and Nightfall, it s okay, because: all Ships and other Things are working with her Position Lights and other Things, to this Status :)
    You right: with an Event System this is also to made, but it is easyer for me: ( Example )
    To tell the Ship:

    if(Gamestats.StatusEsIstTag == True)
    {
    PositionLights.SetActive(true).
    }
    i do not want to setup all Things that depents on Night or Day, in a Event System, it s just not my Workflow :) but the Idea is great!!!!! Absolutly!

    Oh: You can also do the Daytime "exaclty" for me is Nightfall and Sunrise enugh, more i do not need :D Because i need it for Position Lights, or the Lightment inside the Periskop of Submarine and other Things, there it is enugh, because i do not use a exactly 24 Hour System in this Project. In other i use, but there i use my own Clock inside the game :)

    Dont Cares, there many ways to reach a goal, only thing counts, is the Result i think :D And your Result is - great :D

    And there is an other important Point to me: The MasterScript (there written Day + Night inside) is also controlling :
    - the Weather,
    - The Waves,
    - The Boat Controller.

    So for example: if i do Storm on Azur, the Waves rise up, the Wind is howling,
    the Boats will "move harder / faster, deeper" on the Waves, and also they need to know if it s day or night. If i do not about my Gamestats change, i need to do 3 different Scripts, for 1 Operation, and put them into a Event System. So is all @ 1 place :)
    I think you understand, and: THis works PRETTY NICE !

    OH: only 1 Problem: Ah, see:
    Rain i now see.
    but you rSnow i cant see.
    Why ?
    The Particle System is active, but there is no Snow to see ?
    what is the Problem ? I did the Profile "Snow" to the Azur Controller, do not fix the Situation :(
     
    Last edited: May 10, 2019
    DenisLemos likes this.
  20. DenisLemos

    DenisLemos

    Joined:
    May 1, 2015
    Posts:
    502
    Just like the rain, the snow is also working without any problems in all my tests. I'm on a tight schedule, but if I have time left I want to try some other approach to create the weather particles.
     
  21. blogsabout

    blogsabout

    Joined:
    Aug 20, 2014
    Posts:
    44
    Love this Asset ! - how can I have my objects (dynamic) using Azure as reflection so the colors fit?
     
  22. DenisLemos

    DenisLemos

    Joined:
    May 1, 2015
    Posts:
    502
    Try to turn on the reflection probe in the Options tab of the sky controller. Then you can configure the reflection probe game object inside of the sky controller and set the box size, clear flags, culling mask, importance, etc... When the object is inside this reflection probe, Unity should use it automatically as a reflection source.

    See the GI demo scene.

    If you are using Azure[Sky] Lite, you shoud create the reflection probe manually.
     
  23. DenisLemos

    DenisLemos

    Joined:
    May 1, 2015
    Posts:
    502
    Working in progress...

    New Particle System: The particle system has been completely redone and improved. The particle and sound effect system are now completely independent and work on the GameObject within the prefab. Now it is easier to manage the effects and if the user wants can even delete the effects system without breaking the sky system.

    Rain: The old system(current in the store) has only one rain particle system with the option of increasing or decreasing the number of particles to simulate different levels of rain. There are now 3 different rain particle systems(Light, Medium, Heavy) and the user can simulate different rain levels with more realism than ever before, leaving from "light rain" to a sudden storm.

    Snow: The snow particle system has also been greatly improved. The old system only covered a radius of 5 meters which made visualization very difficult. Now the radius of coverage is a range of (50-100) meters as well as the rain and the snow falling behavior is much more realistic.

    Thunder/Lightning effect: The thunder system was also greatly improved. In the old system, the thunder was just an audio source that triggers some thunder sound and at the same time lightning the clouds, so it was necessary to wait for the current thunder sound to end to be able to play another, otherwise the sound that was playing would be replaced by the new one. Now the thunder effect is an instance. When the effect is triggered, it is instantiated in the scene a prefab with the thunder behavior, you can instantiate as many thunder prefabs you want and when the sound effect of each instance ends, the instance will be automatically deleted from the scene. But not only that, the lightning in the clouds was improved and the energy ray(lightning bolts?) emitted by thunder was added.

    Particles Group Manager: If you need the particles in different locations, you can now duplicate the particle system and add it to the Follow Manager list and define the target/position that each particle should follow. In the screenshots the particles are set to follow the MainCamera, you can duplicate the particles and make this new group follow another camera for example.

    Soon I'll bring a testable demo, so far only screenshots that is not the best way to show the effects in operation.
    Particle1.png Particle2.png Particle3.png
     
    Last edited: May 25, 2019
  24. DenisLemos

    DenisLemos

    Joined:
    May 1, 2015
    Posts:
    502
    Working in progress...

    Precomputed Sky Model: The old precomputed sky model was redone and integrated into the sky system again. Many bugs were fixed and some new features added. Now it is possible to leave the planet and go into outer space, travel around the planet and back again into the atmosphere, ideal for spherical worlds. The precomputed sky model is in the test phase and still not quite ready to be used in interplanetary games, but if the need is just to get out of orbit, go around and return to atmosphere again, then it can be useful.
    RealisticSky1.png RealisticSky2.png RealisticSky3.png RealisticSky4.png

    The next update will also introduce a new and very realistic 8k texture of the Milky Way. Thanks to Solar System Scope.
    RealisticSky5.png

    The terrain of the screenshots is from Horizon[ON].
    Soon I will make available the demonstration scenes of the new version for tests.
     
    Akshara, Mark_T, ftejada and 3 others like this.
  25. ftejada

    ftejada

    Joined:
    Jul 1, 2015
    Posts:
    533
    Hi @DenisLemos !
    Do you plan to add a boreal Aurora system ???

    regards
     
  26. DenisLemos

    DenisLemos

    Joined:
    May 1, 2015
    Posts:
    502
    Not for this release, who knows in a future update.
     
  27. DenisLemos

    DenisLemos

    Joined:
    May 1, 2015
    Posts:
    502
    The windows builds demo scenes of the next update for testing.

    Stylized sky model with global weather demonstration: Using terrain from Horizon[ON]
    Download: https://drive.google.com/file/d/1R4qHdjdTOZMEr1oM7QLE5jBKvdw9qqyU/view
    StylizedSkyDemo.png


    Precomputed sky model with altitude variation: Using terrain from Horizon[ON]
    Download: https://drive.google.com/open?id=1RfM--vXxx_aSWbHt1ler1jIkqLO_bpVF
    PrecomputedSkyDemo.png


    Stylized sky model with global weather and weather zones: Using Tropical Forest Pack v1.0 and Advanced Foliage Shaders v.5.
    Download: https://drive.google.com/open?id=1GMp2Vl-SnPOwqhqRKgVYkXhAjlRIXT_3
    TropicalForestDemo.png
    There are 3 weather zones on the map.
    The weather zones override global weather.
    The blend distance of each weather zone is set to 5 meters around the colliders.
    The thunderbolts are spawned at a fixed position in the scene near the rising sun position.

    Note: The tropical scene is not optimized. It is running around 100 fps in my outdated setup at 1920x1280, in some map locations it is running around 50 fps:
    Intel Core i7-4790 @3.60GHz
    Memory 8GB
    Nvidia GeForce GTX 760 2GB

    The only post-processing effect used in the tropical forest demo was the temporal anti-aliasing and nothing more. The other builds do not use any post-processing effects other than fog scattering. Each scene took only a few minutes to configure because my time is tight, so with a little more work and some post-processing effects you can achieve much better results, especially in the lighting.

    I intend to write the documentation this weekend and send the new version to the asset store next week.
     
    nirvanajie, transat and ftejada like this.
  28. transat

    transat

    Joined:
    May 5, 2018
    Posts:
    269
    Will the new version work with LWRP or HDRP?
     
  29. DenisLemos

    DenisLemos

    Joined:
    May 1, 2015
    Posts:
    502
    Not for now, first I want to make everything work in the legacy render pipeline. If I'm not mistaken, HDRP and LWRP is still in preview and probably will not be officially released this year. Deploy Azure[Sky] to work with the new render pipelines will require 3 different versions of Azure in the same package and consequently the work will also be tripled.

    The new version is ready and sent to the Asset Store last Friday and in the next few days it should be oline.
     
    ftejada likes this.
  30. DenisLemos

    DenisLemos

    Joined:
    May 1, 2015
    Posts:
    502
    Azure[Sky] Dynamic Skybox v5.0.0 is online.

    Asset Store link:

    v5.0.0 news!
    • Weather Zones
    • Event System
    • New Output System
    • New Particle System
    • New Thunder Effect
    • New Precomputed Sky Model
     
    ftejada, Acissathar and transat like this.
  31. MightyAnubis

    MightyAnubis

    Joined:
    Jan 29, 2018
    Posts:
    19
    Short but clear:

    i really like your Update!
    It is absolutly amazing!
    The Particle Effekts now clear to see. Important: Snow is working great now and looks absolutly amazing!
    The new easy "Following Function" is brillant.

    But one Question:
    The Screenshots you post show the Flashs of Lightning, i cant see if i test the Effekts, did i miss something?Documentation tells nothing.

    i got 1 Error @ Importing it in a clear (non other Shader only Unity Standard) using Project:
    "
    The Instance Thunder is not a Reference to an Instance Object"

    is there something wrong ?

    Other i can tell you after i test it out.
    I really like it - Very great work!
     
  32. DenisLemos

    DenisLemos

    Joined:
    May 1, 2015
    Posts:
    502
    Glad to know you liked the new update.

    Regarding the thunder effect, there are 3 different versions(prefabs) of the effect:
    1. Only plays the thunder sound and illuminates the clouds.
    2. Plays the thunder sound, illuminates the clouds and show the energy flash particle.
    3. Plays the thunder sound, illuminates the clouds and show the energy flash particle with a "glow ball" in the origin.
    You must specify in each thunder created in the "Thunder List" the position in which it must be created in the scene. Take into account that the energy flash particle is about 500 meters in size, so it needs to be created at a considerable distance away from the camera.

    See in the screenshots below the setting of each thunder in the list(using a default scene). By default the list already contains the 3 thunder versions.

    1. There is no need to set a position to the first thunder in the list because it is using the first thunder prefab without the energy flash particle.
    2. The second thunder in the list I set the spawn position to (0, 500, 750)
      Thunder1.png
    3. The third thunder in the list I set the spawn position a bit lower at (0, 400, 750) to be able to see the "glow ball".
      Thunder2.png
    You can create as many thunders as you want and set different spawn positions for each of them. Just call the InstantiateThunderEffect(int index) method from the AzureSkyEffect class and set the "index parameter" with the target thunder number from the thunder list, so a new instance of the thunder will be created at the position you set in the Inspector.

    Or you can call the InstantiateThunderEffect(int index, Vector3 worldPos) method to create the thunder instance at the position you set in the "wordPos" parameter.
     
  33. MightyAnubis

    MightyAnubis

    Joined:
    Jan 29, 2018
    Posts:
    19
    :O
    Works pretty Well :D
    This is absolutly amazing !!!!!!
    but: Hint: Put it in the Documentation, i found it not there ( everytime i first read Dokumentation :D )

    so, 1 Question left, the mot complicatet:
    Particles now work well, but 1 Problem is left:

    WeatherParticlesCollider.jpg

    maybe that are 2 Problems together:
    Like you see: my Game is a Submarine Game, The First Problem @ this is: i have Water inside my game.
    That is not the big Problem, because: The Water have a Collider itself, and i can do a Plain to, with a Collider, all nice.

    but 2 Ways of Problem are opening:
    1. - the Particle System ignores the Settings for collision absolutly. So nothing will collide.
    if i chack it up, again the Game runs, it rains underwater. ( not really cool this ). Snow to.

    2. - that is special for my game: The Problem is: my Camera moves with the Boat. So if the Submarin is diving, the Particle System follows the Submarine.
    There serval Ways to fix this, like i can say: "Follow only if the Boat is not in Diving mode" or "follow Y only if the Submarine is not dived" (for that i need to step into the Code of Azur) but the Masterproblem is:

    how can i avoid the Raining / Snowing underwater ?
    ( Just not your Foult, i just hate ParticleSystems, they everytime only do what they want, never what you want). but:
    Rain underwater is not so cool at all. *hm*

    Did you have any Idea ?
    Also why do the Particles not collide with other Objects ? For Example: if i do a plain over the Main Cam, it rains trught the Plain.
    so under the Plain is rayny to. Rain1.jpg

    Rain2.jpg

    Plate is here an Example. Like you see. Image 1 > it is larger than the Particle System himself. But it rains trught the Plain.

    and Image 2: the View ingame. So : the Particles going trught the Plain.

    i have also tried, to bring the Collision not to "World" , i change it to "Plain" and create a Plain with Collider, and other Things, i go serval Ways. There is no way to avoid this this time.

    Did you have an Idea why ? your settings are perfect for the Particle System, but they are completly ignored.

    and it looks not nice, to see rain underwater.... but if i set the Particle System offline for this time, is also no good choice, because i need it for Cinematics, and other Things, so it should be stay active....

    i am sorry to disturb you so much, but : most things are creative i hope.
    See the Thunders: they are great now, i really love them !!!!!!!!
     
  34. DenisLemos

    DenisLemos

    Joined:
    May 1, 2015
    Posts:
    502

    In the Stylized exemple scene you will find a "invisible" plane in the ground to show the particle collisions. I've added a 3d box in the scene and the collisions seem to be running smoothly as you can see in the screenshot below.
    ParticleCollision1.png

    Is the plane you used as collider facing up? Remember that collisions only work against the normal directions.

    If disabling particles while underwater is not an option, you may try to change the camera "Culling Mask" to not render the particles while diving.

    Or try to:
    • Create a empty game object.
    • Make it child of the submarine.
    • With a simple script, set the local Y position of the empty game object to some position above the water.
    • Set the particle to follow this empty game object.
    • When the submarine moves around, the empty game object will also move following the submarine, but will stay above the water like in the screenshot below.
      ParticleCollision2.png
     
  35. MightyAnubis

    MightyAnubis

    Joined:
    Jan 29, 2018
    Posts:
    19
    Submarine Following is Way i go, that was the Point, i think about.

    But: The Collision i do not understand :(
    i go 2 Ways now: i watch your Scene: all nice, Particles collide with Plain, all good.
    My Scene, shows the Collision from the Particles also from "bottom Side" , but it rains trugh.

    Settings are the same.
    Than i copy your Plain to my Scene > same Effekt.
    The Rain goes trught the Plain. i do not understand why ?



    For Example: Your Plain, in my Scene. The Particle Settings are identical. The Particle System = Storm ( So heavy Rain )
    the Plain Collides like you see, but the Particles going trugth the Plain. I dont understand why ?

    Collision2.jpg

    like you see. Plain is above us.
    this - for example, is YOUR plain, i copy it to my Scene.
    In your Scene, all is nice. i dont understand the Difference, Azure is here in this setting 100% default like it comes.
    so there are no changes from me, i complain the Settings you have, i try other Particle Systems ( like lite rain, middle rain)

    All comes trugh.
    Any idea ? Crazy is: you can see the Collisions above, but they come trugh ...

    chacked are:
    1. - Plain is correctly Scaled,
    2. - Camera is under the Plain.
    3. - Particle System is over the Plain.
    4. Particle Settings are 100% default like Azure comes.
    ... do not really work.
     
  36. MightyAnubis

    MightyAnubis

    Joined:
    Jan 29, 2018
    Posts:
    19
    Rain now stops @Plaine. I do not understand why.
    i need to keep an Eye on this, this is Crazy.
    There no other Changes, just: delete Azur, bring in Azur new > works.

    Head > Wall. Sorry, that was just the Last Idea i have, and it worked, no body think this way...
    i hope this works in MasterScene also, becuase: lot of Changes and Setups for Weather are final there :D




    Collision3.jpg
     
    DenisLemos likes this.
  37. killer1171090

    killer1171090

    Joined:
    Feb 23, 2013
    Posts:
    89
    Are the Weather and Clouds compatible with the Precomputed Sky Model?
     
  38. DenisLemos

    DenisLemos

    Joined:
    May 1, 2015
    Posts:
    502
    The precomputed sky model does not support clouds, I have not yet found a good cloud solution that supports altitude variation to work with this sky model.

    The weather system and other features continue to work regardless of the sky model that is used, but without a cloud system, there is not much to do with the weather system when using the precomputed sky model.
     
    killer1171090 likes this.
  39. killer1171090

    killer1171090

    Joined:
    Feb 23, 2013
    Posts:
    89
    Hmm, So you can indeed travel all around the entire planet and still have weather? There's another asset which does handle Volumetric clouds and can handle a spherical world might wanna give it a look. Called Volumetric Clouds :p
    Though the Weather is mostly what I'm looking for, I'll probably pick the asset up soon!

    Something that would be cool but probably not easy, would be Localized Weather according to clouds.
    Some areas having a Storm while others a clear sunny day. Could apply a noise layer onto the planet, and according to the noise apply different Cloud/Weather settings.
     
    Last edited: Jun 20, 2019
  40. DenisLemos

    DenisLemos

    Joined:
    May 1, 2015
    Posts:
    502
    Oh no! I'm sorry, I did not take the spherical world condition into account, only the precomputed sky working in as a flat world.

    Keep in mind that the precomputed sky model has not been extensively tested and may contain some bugs. From what I can understand, your project seems ambitious and the asset may not provide all the features needed for this kind of project, and you may have to work around some potential issues.
    • The weather system was developed to work with the stylized sky model, and so was designed with the flat world logic. This means that the rain will always fall to the same direction according to the Unity's global world coordinates and depending on where the player is in the spherical world, the rain might fall in the opposite direction.

    • The system does not provide a planet or some kind of spherical terrain, and even Unity does not support spherical terrain. In the screenshots and demonstration scene a flat terrain from "Horizon[ON]" plugin was used positioned on the "top edge" of the atmosphere.

    • Developing a spherical terrain system is not an easy task, this asset Planetary Terrain seems to do this and has support to quadtree dynamic LOD, but I do not know how easy it is to deform and texturise the terrain and whether it will work with the precomputed sky model. But if you can make the precomputed sky model work with a spherical terrain, placing the climate zones colliders around the planet will also be a complicated task to get around because of the floating-point precision issue.(this will not affect the global climate)

    • Volumetric clouds also need to support spherical worlds, it is not enough just to be volumetric and have support to fly through.
     
    killer1171090 likes this.
  41. killer1171090

    killer1171090

    Joined:
    Feb 23, 2013
    Posts:
    89
    1. Would it be possible to set the Particles to Local and Rotate them to point in the direction of the Center of the Planet?

    2. I'm fully aware.

    3. I already have a fully function 1:1 scale planetary system that Matches the quality of Unity terrain. I have also already got around Floating Precision issues and placing Climate points should be a fairly easy task (As long as they can be added/removed in realtime).

    4. As for the clouds I was simply mentioning another Asset which does support Spherical worlds (Which happens to be called "Volumetric Clouds" :p), I thought you might wanna take a look at it to get ideas on how to handle it yourself.
     
    Last edited: Jun 20, 2019
  42. DenisLemos

    DenisLemos

    Joined:
    May 1, 2015
    Posts:
    502
    In fact just rotating the parent object of the particles is enough to change the direction of the rain.

    I've never tried deleting and creating the weather zones at runtime, but I think it has no problem at all, it is only necessary to also remove it from the local weather list and add again, otherwise the sky system will ignore it.

    I'll take a look at this asset when I have some time left. At the moment I'm working hard on a new asset that will be very important for the development of my future "3D Pixel Art Games" and it will probably be very useful to other developers too.
     
  43. Barritico

    Barritico

    Joined:
    Jun 9, 2017
    Posts:
    188
    Hi.

    I have bought 3 weather systems and I am going to buy this one too. None is perfect, but the most compatible with everything is ENVIRO. I will buy and give this asset a chance.

    My first question has nothing to do with this asset. It's a question about Horizon [ON]

    I see that you use it a lot, but it is a product that has been "dead" for a long, long time.

    Does it really work well with the current versions of Unity?

    Thanks!!!
     
  44. DenisLemos

    DenisLemos

    Joined:
    May 1, 2015
    Posts:
    502
    Hi!
    I've never actually used Horizon[ON] for the purpose that it was developed, so I can not tell you exactly if it performs well for that purpose.

    For me Horizon[ON] always worked without any problems or errors (in the package import shows some warning messages in the console, but nothing that makes the plugin stop working), but I confess that I just open the example scene and drag the sky prefab for quick test purposes instead of going through the tedious process of creating Unity terrains, the example scene is great for me to test and demonstrate how the sky system works in large-scale scenes.

    Maybe there in the asset forum you find someone who uses the plugin in game production and can answer you about the asset more accurately than I do.
     
    Barritico likes this.
  45. snacktime

    snacktime

    Joined:
    Apr 15, 2013
    Posts:
    2,407
    So does this new version call for a different approach for integration with the Crest water system? Where the bulk of the solution is calling ApplyAzureFog at the end of the frag shader which comes from AzureFogCore.cginc.
     
  46. DenisLemos

    DenisLemos

    Joined:
    May 1, 2015
    Posts:
    502
    The solution to make the Azure fog scattering work with transparent materials is the same as before, nothing has changed. Let me know if you are experiencing any issue.
     
  47. gamesfrommiga

    gamesfrommiga

    Joined:
    Sep 21, 2017
    Posts:
    13
    Hello there! I'm really loving the Sky Controller! I was wondering if it's possible to have the sun rotate around the environment like how it does during winter solstice in Alaska? Where it just creeps above the horizon for a little bit?
     
  48. DenisLemos

    DenisLemos

    Joined:
    May 1, 2015
    Posts:
    502
    I'm glad to hear that people are enjoying Azure[Sky] Dynamic Skybox.

    Yes, this should be possible if you set the "Time Mode" to Realistic and set the latitude and longitude of the location you want to use, even the position and phases of the moon should be realistic just like in the real world.

    I did a quick search and found that the geographic location of Alaska should be something around:
    • Latitude: 64
    • Longitude: -149
    • UTC: -9
    I just set this values on the "Time Controller" tab of the sky prefab using for testing the "Precomputed Sky" demo scene and it worked like a charm.
    AlaskaScreenshot.png
    By using realistic time mode, the customization of curves and gradients can not be made using the timeline as reference. Instead it will probably be necessary to change the mode of some properties in the profiles to be based on the elevation of the sun in the sky. See the documentation of the latest released version(v5.0.0) for more details on how curves and gradients work.


    You can also fake this behavior using the simple time mode. Just use a setup similar to this:
    • Latitude: 80
    • Longitude: -150
    • UTC: 0
    AlaskaScreenshot2.png
    Using simple time mode the performance will be better and you will not have to worry about setting the curves and gradients based on the sun elevation. In this case, the position of the sun and moon will not be the same as in the real world and the phase of the moon will always be "full moon", because it is always opposite to the direction of the sun.
     
    gamesfrommiga likes this.
  49. gamesfrommiga

    gamesfrommiga

    Joined:
    Sep 21, 2017
    Posts:
    13
    Thanks so much! Just tried it out in our env and it looks absolutely fantastic!
     
    DenisLemos likes this.
  50. yomba

    yomba

    Joined:
    Jun 20, 2014
    Posts:
    1
    Hello I am building for iOS, and I am receiving this error:

    Shader error in 'Azure[Sky]/Precomputed Fog Scattering': undeclared identifier 'IN' at line 406 (on metal)


    Any thoughts on the cause?