Search Unity

  1. Unity 2019.1 is now released.
    Dismiss Notice

[RELEASED] UniStorm 4.0 - AAA Procedural Volumetric Clouds, Weather, Sky, Cloud Shadows, & More!

Discussion in 'Assets and Asset Store' started by BHS, Jan 27, 2012.

  1. BHS

    BHS

    Joined:
    Dec 21, 2009
    Posts:
    3,570
    From what I can see Time of Day seems to just be a visual sky system that simulates the time of day.

    UniStorm is a Dynamic Day and Night Weather System that is literally a living breathing virtual environment system.

    UniStorm's Main Features:
    * All 4 seasons (Spring, Summer, Fall, and Winter) with adjustable weather odds for each season.
    * 14 weather types that are all randomly generated; the strength and length of storms are completely dynamic thanks to UniStorm's powerful weather generating algorithm.
    * Seasonal weather (Snow for Winter, Falling Leaves for Fall, Summer Thunder Storms, ect)
    * Every component and color of the sky is adjustable from within UniStorm's custom Editor.
    * Realistic time of day simulation
    * Realistic atmospheric scattering.
    * Powerful in-game time keeping system for in-game events or controlling AI, similar to Skyrim (tracks Minutes, Hours, Days, Months, and Years) All these can be accessed using custom scripts, we included an example.
    * Accurate moon phase system.
    * Temperature system generated each day and for each season to control certain weather components making the system truly dynamic.
    * Powerful easy to use Custom Editor.

    These are just a fraction of what you get with UniStorm. The possibilities with this system are truly endless.

    Here's a video demonstrating UniStorm's weather, time of day, and in-game time keeping system.

     
  2. markfrancombe

    markfrancombe

    Joined:
    May 26, 2009
    Posts:
    149
    Thats great..
    So when will you be releasing it? I need to show something to some .. er people... soon, like 2 weeks... should I wait? Or knock something up? Because currently my multiplayer game is missing weather.. :(((

    M
     
  3. Casto

    Casto

    Joined:
    Aug 14, 2013
    Posts:
    44
    Hi,

    I bought UniStorm and I'm happy with it so far, but I'm having some troubles with water4.

    I followed the instructions to set up UniStorm with two cameras (I need the main camera to have a far clip plane of 500). This works perfectly as expected, but as soon as I use water4 in my scene (I simply use the standard asset prefab) I have some troubles (see the screenshot below) with the background which is not cleared properly. I think the problem comes from the camera which is automatically created by water4, but as it's rendering to a texture it shouldn't have any effect on the screen. Do you have an idea on where the problem comes from?

    $Sans titre.png
     
  4. Etarnalazure

    Etarnalazure

    Joined:
    Sep 11, 2012
    Posts:
    8
    Hello there.

    I bought UniStorm quite a while ago, and I've had quite a bit of fun
    running through the code and adapting it to my own purposes.

    However! I've found a rather huge and serious flaw with the asset's code.

    It has a memory leak.

    When ever it changes time (Dusk, Morning, Day, Night).
    The Renderer.Materials goes crazy! It adds about 10-15 new materials to
    the stack every SECOND, meaning it quickly goes from 8 materials
    in the memory to 100 within 8-10 seconds and does not remove
    the materials again. (Which means that after a few minutes of game
    play the materials allocated are suddenly 4-10 times bigger than it would
    be at the start of the game)

    I've checked the demo to make sure it was not something in my project that
    cause it and I was able to replicate the error there.

    The way I found this out was by using the script Unity's wiki has given
    called "DetectLeaks" (http://wiki.unity3d.com/index.php?title=DetectLeaks)

    Basically what it does is write out to the screen via the OnGUI function how many
    Meshes, Materials and so on is currently allocated onto the screen.

    I will go through the code and try and patch it up myself. However, I figured
    I should alert the team so they could fix it in the up coming update.

    *EDIT*

    I've managed to at the very least find the code thats causing it so it may narrow down
    peoples' search.

    Its within the if sentences of the time of day code. (So no need to check if its the
    clouds thats causing it)
     
  5. Etarnalazure

    Etarnalazure

    Joined:
    Sep 11, 2012
    Posts:
    8
    After looking around, it turned out to be rather simple;

    Change the different lines with
    moonObject.renderer.material.color = Color.Lerp(Color.white, moonFadeColor, (timeOfDay / 2) - 2);

    to:
    moonObject.renderer.sharedMaterial.color = Color.Lerp(Color.white, moonFadeColor, (timeOfDay / 2) - 2);

    (Remember to comment out the original line so you have it incase of something going wrong,
    also remember to put the correct variables in the parentheses)

    I have no idea what may happen to to the day and night cycle if you do this, I checked it over quickly
    and it seems it still works without any problems.

    But do yourself a favor and keep the original lines commented out incase of something going wrong.
     
  6. Casto

    Casto

    Joined:
    Aug 14, 2013
    Posts:
    44
    Hi,

    Nevermind about my problem. I removed a camera (and will deal with in another way) and everything works fine now. It wasn't the fault of UniStorm.

    Also, I just wanted to share with you a little, and humble, suggestion about rain impacts on the ground. I see you instantiate destroy a lot of objects in a very short time to show up rain splashes. I think it would be a lot more optimized to use DrawMesh instead of instantiating an object for each splash: http://docs.unity3d.com/Documentation/ScriptReference/Graphics.DrawMesh.html
    This was just in case of you don't now this method :)

    Anyway, thanks for making this excellent asset!

    PS: one more question, what variables should I sync between clients in a multiplayer game?
     
  7. Sam1987

    Sam1987

    Joined:
    Feb 4, 2013
    Posts:
    6
    Here's a question about using a customized moon in Unistorm.

    I'm putting together a Sci-Fi game that requires me to use different moons than the Unistorm default. I've changed the moon materials and increased the moon's size to get the approximate look I'm going for.

    However, I have an artifact that shows up whenever I increase the size of the moon. The moon's X/Y/Z scale is about 10 now (up from the 3.6 that's the default), and you can see this shadow that's cast in the sky during dusk:

    $shadow12.jpg

    Is there any way you could suggest to remove the shadow? The way I've increased the moon's size has been by simply going to WeatherSystems\Sun_Moon_Moon and increasing the scale of that object. Is there another way I should go about changing the moon's size?
     
  8. BHS

    BHS

    Joined:
    Dec 21, 2009
    Posts:
    3,570
    2 weeks isn't enough time to get UniStorm 1.7 done. The current version of UniStorm should work just fine especially if you're showing game progress.


    There are no memory leaks that we know of. The code renderer.material.color = Lerp(); is a standard Unity function. We will double check things though to be certain thanks for the suggestion.


    Great to hear.

    Thanks for this we will definitely look into it.


    Yes, if you're just increasing the size of the moon everything should be fine. To disable shadows on an object go to that object's Mesh Renderer and disable casting and receiving shadows.
     
  9. Sam1987

    Sam1987

    Joined:
    Feb 4, 2013
    Posts:
    6
    It looks like the Moon object has a mesh renderer, and I have unchecked both cast shadows and receive shadows on that renderer. Could it be another mesh renderer somewhere in the hierarchy that I need to uncheck? I've been experimenting with the mesh renderers on the WorldAxle for a few minutes, but enabling / disabling their shadow properties doesn't seem to make this shadow go away, either.

    Thanks for all of your help with my question.
     
  10. MoHoe

    MoHoe

    Joined:
    Nov 5, 2012
    Posts:
    566
    1: will this work with Realistic FPS prefabs?

    2: The rain is attached to the fps player, but lets say I had two cameras, one is the fps mode and the other is side angle camera which is zoomed out a bit.
    If I wanted to be able to see the rain falling down on the character or the whole map, from the side view, would that be possible to do without doing many changes?

    3: when are you expecting to release version 1.7? few weeks? few months?

    Thanks for your time.
     
  11. bluemoon

    bluemoon

    Joined:
    Dec 14, 2012
    Posts:
    84
    Your time of day system looks great but I have some concerns about integrating it into the rest of my game.
    Could you list a brief description of what variables can be accessed?
     
  12. BHS

    BHS

    Joined:
    Dec 21, 2009
    Posts:
    3,570
    Is the old moon still enabled or did you say you just swapped out the materials? It seems like there might be another object there. I would do a test and disable your moon's renderer. This will make it so the moon isn't rendered. If the artifact isn't there it's something with your moon material or texture.


    1. We haven't tested this but we have tested UniStorm with the Ultimate FPS Camera and everything works fine. I think there two systems are very similar.

    2. This would be easy and would won't have to alter anything with UniStorm. If you have 2 cameras I would write a new script that changes rain system's position. If you're on the actual FPS player use its position and if you're on the zoomed out camera use that position. However you change cameras just add a function that switches between the two.

    3. It's hard to say I would say no less than a month as of right now. We are working hard on it though.


    Sure thing, UniStorm is quite powerful. Here's most variables and brief description.

    * The weather type variable, which controls all weather, so 1 would be Foggy, 2 would be Light Rain, 3 would be Thunder Storms, and so on. You can also make weather effect AI abilities or visibility, driving conditions, player conditions, ect.
    * All time variables, Minutes, Hours, Days, Months, and Years. All these can be used to set events, tasks, duties, quests, ect.
    * Day Length, which calculates the day length in seconds. This can be used to make a variety of systems such as a resting systems like Skyrim, Oblivion, Grand Theft Auto, ect, that pass time. You can also use this to jump to any time of day once an hour is reached.
    * Cloud Speed, which can be used for quests or events. Storm cloud speed can also be accessed.
    * Weather Odds, which calculates the weather odds for each season at a percentage between 20% and 80%. Maybe if a player is in a desert location the weather odds could decreased.
    * Stop Time boolean, which allows you to enable or disable UniStorm's time from flowing. If UniStorm's time is stopped you are still able to use UniStorm and all of it's components.
    * Static Weather boolean, which allows you to enable or disable UniStorm from dynamically generating weather. This allows you to be in control of the weather so it never changes unless done manually by the customer.
    * Every color component, this is perfect if you want to create events like the sky turns black or orange for something like quests or effects.
    * Moon Phases, there are a total of 8 moon phases. You can also access this variable for certain quests or events that will only happen on a full moon or whatever moon phase you would like.
    * Fog Density, perfect for quests or events.
    * Temperature, which can be used for a wide range of things.
     
    Last edited: Sep 20, 2013
  13. mikezenox

    mikezenox

    Joined:
    Oct 18, 2012
    Posts:
    55
    Hi, I recently purchased UniStorm and I'm pretty impressed. I have run into an issue implementing it into my project though, and was hoping for some insight:

    $Untitled.jpg
    I get these ugly seams every now and then. I have set my scene up to use two cameras as you instructed in the documentation for large scaled games.

    Also, rain splashes and mist appear but rain drops don't.

    Other than these two issues, I'm very excited to have purchased this :)
     
  14. nosyrbllewe

    nosyrbllewe

    Joined:
    Oct 18, 2012
    Posts:
    180
    Not trying to sound cheap, but any ideas on a sale? I have been waiting patiently since May and have not heard of any discount. Don't get me wrong, Unistorm is totally worth the $60, though being a high-school programmer my funds are limited. Thanks.
     
  15. bluemoon

    bluemoon

    Joined:
    Dec 14, 2012
    Posts:
    84
    Thanks for the reply. Sounds just like what I am looking for. Will be buying soon
     
  16. LeadRaven

    LeadRaven

    Joined:
    Sep 26, 2013
    Posts:
    2
    Hi. I have relly large terrain and really far view distance. So, i've scaled UniStormPrefab.
    Before scale: $before.png
    After scale: $after.png
    What i am doing wrong?
    Sorry for my english.
     
  17. virror

    virror

    Joined:
    Feb 3, 2012
    Posts:
    2,960
    If you scale Unistorm you probably need to increase the Far Distance on your camera.
    Another solution could be to make sure it follows the x and z movements of your tank and not scale Unistorm.
     
  18. XilenceX

    XilenceX

    Joined:
    Jun 16, 2013
    Posts:
    117
    Ouch that might push it past the planned release date for my game then. I wasn't really expecting the next release to be many weeks away when I bought 1.6.3. Oh well random weather instead of planned weather zones it is then. heh
     
  19. BHS

    BHS

    Joined:
    Dec 21, 2009
    Posts:
    3,570
    That's odd, it seems like your cloud spheres might be touching. Try scaling each of them a little bigger or smaller till they're not touching and it should fix your problem.


    I would create a script that follows UniStorm on the X and Z axis. This would make the system follow your player forever seamlessly. If you need help with a script just let us know.


    Weather Zones can work in UniStorm 1.6.3 there just isn't a fancy editor to help you with it. If you'd like we could give you the Zone Weather Editor early in time for you game. Just send us a PM.
     
  20. LeadRaven

    LeadRaven

    Joined:
    Sep 26, 2013
    Posts:
    2
    It's a good technique, but not an option in my case. Default UniStorm's skybox is too small for my task. I really have to scale it.
     
  21. virror

    virror

    Joined:
    Feb 3, 2012
    Posts:
    2,960
    Then as i said you need to increase the Far Distance on your camera most likely, but expect a performance drop when doing that.
     
  22. Octo-Games

    Octo-Games

    Joined:
    Jan 6, 2013
    Posts:
    44
  23. BHS

    BHS

    Joined:
    Dec 21, 2009
    Posts:
    3,570
    You either need to re-import the image effects, see the Documentation for help, or apply the Sun Shafts and Global Fog image effects to your camera, also see the Documentation.

    Any problems you might have are covered in the Documentation. It will also help you better understand the system and its capabilities.
     
  24. snowboardkid

    snowboardkid

    Joined:
    Jun 16, 2013
    Posts:
    17
    Hi, I saw Unistorm mobile on the daily deal- any chance UniStorm non-mobile will be on sale?
     
  25. eskovas

    eskovas

    Joined:
    Dec 2, 2009
    Posts:
    1,325
    Hello there!

    I'm using UniStorm in No Heroes and wanted to share this image with you guys :)
    There are still many things to tweak and improve, but the results are looking good.
    This feature is very powerfull but it's very tricky to tweak things around.

     
  26. BHS

    BHS

    Joined:
    Dec 21, 2009
    Posts:
    3,570
    We don't plan to have UniStorm on sale.


    Good to hear you like UniStorm.

    What things do you find tricky to tweak?
     
  27. Octo-Games

    Octo-Games

    Joined:
    Jan 6, 2013
    Posts:
    44
  28. Justei

    Justei

    Joined:
    Aug 31, 2012
    Posts:
    133
    Hey there, I have a question.
    I have a render texture that is a lens in a sniper scope, and of course this uses its own camera (it has to in order to work for our purposes). But this camera doesn't render Unistorm clouds, how would I go about fixing this?
     
  29. BHS

    BHS

    Joined:
    Dec 21, 2009
    Posts:
    3,570
    Those first 2 errors having something to do with the Unity Game Engine, not UniStorm.

    To fix the the Sun Shafts and Global Fog errors you need to apply the Sun Shafts and Global Fog image effects to your camera, even if you don't have pro.

    Please read the documentation it covers everything with its FAQ.


    You most likely have to increase the Far Clipping Plane on the sniper scope camera. It needs to be around 15,000.
     
  30. justinl

    justinl

    Joined:
    Aug 27, 2012
    Posts:
    56
    You may need to add whatever layer the Unistorm clouds/effects are on to your sniper scope Culling Mask Layers if your sniper scope is culling certain layers as well.
     
  31. eskovas

    eskovas

    Joined:
    Dec 2, 2009
    Posts:
    1,325
    Sorry, didn't mean to say tricky... UniStorm doesn't appear to update the color values when i change them in the editor in real time, but that's probably because how it was built. That makes things hard to customize.
    Don't know if it's possible but is there a way to dynamically change the amount of clouds in the sky? like a slider or float value instead of the preset options.
    Is there any word on the release date of the 1.7 version?
     
  32. Antiker90

    Antiker90

    Joined:
    Oct 2, 2013
    Posts:
    22
    Now i have every Time this error. Only in my Game, in a New Projekt is nothing.

    Assets/UniStorm/Scripts/UniStormWeatherSystem_C.cs(229,9): error CS0246: The type or namespace name `GlobalFog' could not be found. Are you missing a using directive or an assembly reference?

    Assets/UniStorm/Scripts/UniStormWeatherSystem_C.cs(229,9): error CS0246: The type or namespace name `GlobalFog' could not be found. Are you missing a using directive or an assembly reference?
     

    Attached Files:

    Last edited: Oct 3, 2013
  33. Antiker90

    Antiker90

    Joined:
    Oct 2, 2013
    Posts:
    22
    Ok Now i have this Problems:

    Assets/UniStorm/Scripts/UniStormWeatherSystem_C.cs(229,9): error CS0246: The type or namespace name `GlobalFog' could not be found. Are you missing a using directive or an assembly reference?

    Assets/UniStorm/Scripts/UniStormWeatherSystem_C.cs(228,9): error CS0246: The type or namespace name `SunShafts' could not be found. Are you missing a using directive or an assembly reference?

    What i must do?
     
  34. BHS

    BHS

    Joined:
    Dec 21, 2009
    Posts:
    3,570
    Not sure yet, but most likely by the end of this month.


    The errors you posted in the picture are more of a Unity thing. You need to re-import your image effects so they can match the current version of Unity that you're using.

    Those other 2 errors are because you need to apply the Global Fog and SunShafts image effects to your camera, even if you don't have pro.
     
  35. Antiker90

    Antiker90

    Joined:
    Oct 2, 2013
    Posts:
    22
    Yes i Have read this. Than i have re-import image effects but the errors alsow there
     
  36. David-Lindsay

    David-Lindsay

    Joined:
    May 20, 2009
    Posts:
    121
    I have a question about the appearance and performance of forward lighting and deferred lighting with UniStorm.

    My goal is to allow the player to carry a torch that casts shadows, and also have the shadows from time-of-day.

    There are lots of pros and cons, especially considering anti-aliasing and point light costs.
    - Would you recommend using forward lighting, and only having UniStorm's directional sunlight shadows (just light radius but no shadows from torch)?
    - Or, will deferred lighting be okay in this setup, with multiple shadow passes from different lights?
     
  37. virror

    virror

    Joined:
    Feb 3, 2012
    Posts:
    2,960
    I use deferred in my project and atm i don't see much of a performance difference.
    I dont have a lot of light atm in my scene though but i also have a torch with realtime shadows, campfire and some stuff like that.
    I really think deferred makes it all look a lot better : )
     
  38. David-Lindsay

    David-Lindsay

    Joined:
    May 20, 2009
    Posts:
    121
    Thanks very much! I think it's time to try out Unistorm myself.
     
  39. Ecocide

    Ecocide

    Joined:
    Aug 4, 2011
    Posts:
    292
    Hi,

    I purchased Unistorm yesterday and played around with it for 3 or 4 hours. I really couldn't get a statisfying setup yet.
    The cloudy weather makes my scene way too dark. Setting the Sun intensity didn't help, it seems like this value is controlled by the different weather types and cannot be changed without changing the code. Am I right?

    Now I only use some of the features of Unistorm such as the rain system and some local fog. And I definitely bought it because of the snow feature, that will hopefully reappear in the next update.

    My problem is, that when it comes to light, fog (the one from RenderSettings) and some other things, the available weather types are not customizable enough.

    But I want to inform anyone that this is a great product! It is just not suitable for MY special needs at the moment, therefore I only use a few features of it.
     
  40. Justei

    Justei

    Joined:
    Aug 31, 2012
    Posts:
    133
    Hi there, I have another question regarding UniStorm. I have been implementing it into my multiplayer game and I need to network it completely, so the server completely controls the clients. It already sends the following values to the clients:

    Weather Type, Hour, Minute, Days, Month, Year

    However, on the clients I am unsure on what I need to modify in unistorm so that when I set those values it actually works. Because at the moment the clients overwrite the values themselves. Has anyone else done this before? Thanks.
     
  41. virror

    virror

    Joined:
    Feb 3, 2012
    Posts:
    2,960
    Well, the Unistorm code is very messy to be honest, but you should not send all the time variables, one should be enough and then let that update the others on the client. The basics i guess are to just insert a isServer check and if server, do the Weather Type calculation and time calculation and then send an RPC, and if not server dont do those calculations and just set those everytime your RPC gets called.
     
  42. Justei

    Justei

    Joined:
    Aug 31, 2012
    Posts:
    133
    That's pretty much what I thought, however the code is quite messy and hard to predict. I can't really know what to set and when because it's hard to know what will actually work. What does the TS recommend?
     
  43. virror

    virror

    Joined:
    Feb 3, 2012
    Posts:
    2,960
    I wish i could show you some code example but i rewrote the whole update function cause it was so messy and poorly optimized so it would not really be applicable to your code i guess : /
     
  44. Justei

    Justei

    Joined:
    Aug 31, 2012
    Posts:
    133
    I'm actually considering doing the same, if I do I will make sure to upload it somewhere for others to use. Just making the code safe to run on a server in its current state is a nightmare, no variables are ever null checked or anything, so not setting something will have huge problems. But I guess it's not meant to be run in a server environment lol.
     
  45. justinl

    justinl

    Joined:
    Aug 27, 2012
    Posts:
    56
    I'm pretty sure it's against the license of the addon to release full source code like that, even if you've re-coded it. You might want to check with the author first. I've personally also re-written this entire addon because it's as virror says, the code is extremely messy.
     
  46. Justei

    Justei

    Joined:
    Aug 31, 2012
    Posts:
    133
    That's true, didn't even think of that. Thanks for reminding me :p well, then I would basically just send it to the author and if he wants to send it to whoever has problems with it he can. Because it will work with networking which is my goal.
     
  47. virror

    virror

    Joined:
    Feb 3, 2012
    Posts:
    2,960
    Yeah, that's what kept me from posting my as well, but i did send the rewrite to BHS in a pm but did not receive any answer so it seems its not something he considers as important, which a shame cause it could probably be optimized to run 10x faster (the script that is).

    Don't get me wrong, i really like the system a lot, it has a great base and that's why i spent the time rewriting parts of it : )
    Just wish the code was better so it would be easier to customize it.
     
  48. BHS

    BHS

    Joined:
    Dec 21, 2009
    Posts:
    3,570
    We do consider better optimization of the code very important. That's a big part of UniStorm 1.7 is a complete rewrite and better use of code for UniStorm. As well as Debug Logs and null checks.

    If you have rewrites, optimizations, or suggestions for UniStorm please send them to us via PM. We do appreciate the help and contribution to the UniStorm community and will gladly look over what anyone sends. Note: Please don't post any UniStorm code here on the forums.

    We have been working hard on rewriting UniStorm as well as adding new features, better code, and debug logs. We will release an update asap and we're sure everyone will like 1.7.
     
  49. mikezenox

    mikezenox

    Joined:
    Oct 18, 2012
    Posts:
    55
    I'm still getting those large seams and the square in my clouds during thunderstorms/overcast, and I haven't changed the scale at all. The only thing I've done to the prefab is attach a script to make it follow the player, so any help would be appreciated.
     
    Last edited: Oct 11, 2013
  50. virror

    virror

    Joined:
    Feb 3, 2012
    Posts:
    2,960
    Sounds great! : D