Olander's Genesis Weather [Free]

No longer supported or provided.
Updated: 2024JAN07

Unity 2018.1 :: Imported and works perfectly (no change).

*For Time of Day users support has been removed for this.

Genesis Weather has been designed from the ground up to simulate a fairly realistic weather system per scene/game. Unlike all other weather systems you can find, Genesis Weather works for Any Planet, not just earth. You have complete control over how your weather should behave in your Scene/Game.

Genesis Weather also gives you fully functioning dynamic particle systems and audio that look and sound excellent. Since you have full source of everything you change swap out and change whatever you like. The choice is yours. Genesis Weather uses only minor shader adjustments to Standard Unity 5 shaders (Clouds/Stars are the exception). This means that during Unity updates there are far less chance of things breaking. Again, you have full source so chip away and change if you wish.

Unity 5-2017-2018 Compatible Versions:
v5.1.2 & v5.2.2 (You will need to revert/re-calibrate the Particle Systems)
v5.3.4+
v5.4.0+ (Demo Version works out of the box)
v5.6.0+ (for Legacy PostFX or Unity Post Effects Stack v1 with updated scripts below)
v2017+ (I stayed with PostFX Stack v1 in this)
v2018+ (Set up your Unity Post Effects Stack to v2)

Again…this design proves itself in High End Quality and Not breaking on Unity upgrades.

Camera Post FX Note:
I actually use Beautify, Amplify FXAA, and HBAO for my stack. I connect in Genesis Weather to it and it work flawlessly. This is for coders to do…but it is not difficult at all.

Unity Post FX Stack v1 and v2 are two different entities and are handled a bit differently from within Unity. There are a few scripts floating around that show how to connect…and more importantly…change the FX values at runtime. Unity uses a strange coding style to make it function…I suppose this is to not hit the GC during runtime.

This is a large system that handles All Sun and Weather. It has taken well over 1,500 hours to get fully working the way it should and be very well optimized. This also took an improvement from Unity itself to truly become what it needed to be.

Features:

  • Full Source C#

  • Full PDF Manuals that are full detailed with pictures and Step by Step Instructions

  • Weather Manager Window that may be docked for ease of use.

  • Easy Setup with the click of a button and a couple drag to slots.

  • Default Setup is the Temperate Climate (most common)

  • Designed to be Stand Alone…meaning very easy Integration into your own projects.

  • External Connections to proper variables are very simple…including database requirements.

  • Dynamic Humidity and Temperature Simulation

  • Humidity controls most everything. This is based upon Relative Humidity and simple calculations have been done to keep the math simple and performance up.

  • Temperature dictates Rain, Rain and Snow Mix (+/- 1 Degree of 0), Snow

  • Cold Fronts condense air and cause precipitation

  • Warm Fronts expand ait to hold more moisture

  • Simple Enable of Simulation for External Real World Humidity and Temperature control

  • Celsius and Fahrenheit Temperatures in single decimal format. All calculations are in Celsius with automatic conversion

  • Weather Zones that will change only the area they occupy in your scene. Great for Swamps and Mountains.

  • These basically override the global weather in the scene.

  • You may use as many of these as you wish.

  • These may also be network sync’d easily.

  • Dynamic Sun Lighting and Intensity

  • Yellow (Earth), Blue, and Red Suns/Stars provided as defaults

  • Dynamic Sun Rise and Sun Set Coloring

  • Dynamic Clouds with full color grading based upon Sun Light conditions

  • Note: Volumetric 3D clouds were pulled because of rendering issues

  • There are 10 Cloud Patterns, 5 Noise Options to make a very large variety of clouds.

  • Clouds change at Night then color synchronize with weather level at Sun Rise

  • Dynamic Sky Haze with both Static Override Haze and Event based

  • Directional Cloud Movement based upon Wind Direction and Velocity

  • Clouds may be Rotated instead for simple situations

  • Dynamic Atmospheric Fog

  • Grey (standard), Icy, and Dusty provided as defaults.

  • Dynamic Ground Fog

  • Dynamic Bloom

  • Dynamic Depth of Field

  • Dynamic Rain, Snow, and Sleet (2 Rain Audio Files)

  • Dynamic Thunder (16 Audio Files)

  • Dynamic Lightning and Flashes (3 Sets of Lightning…a lot of variety)

/******************************************************************************************************************/

Climate Configurations:
Temperature Zone (All Degrees in Celsius) is the Climate Zone of an Area
1 - Tropical 12 Months Warm 20 to 50
2 - Subtropical 8 Months Warm 20 to 35, 4 at 15 to 25
3 - Temperate 8 Months at 15 to 30, 4 at 2 to -10
4 - Cool 8 Months at 10 to 20, 4 at 10 to -5
5 - Cold 4 Months 5 to 10, 8 at 5 to -30
6 - Polar 12 Months -5 to -50
Default int 3

Precipitation Class is the Precipitaion Zone of an Area
0 - Arid - No Rain (even if Humidity is set)
1 - Semi Arid - Slight Summer Rain
2 - Arid Oceanic - Slight Winter Rain
3 - Oceanic - Winter Rain, Dry Summer
4 - Tropical - Summer Rain, Dry Winter
5 - Temperate - Rain in all Seasons
Default int 5

Minimum Temperature for the Area
Default float 15.0
Range -50.0 to 50.0 (capped by Temperature Zone)

Maximum Temperature for the Area
Default int 25.0
Range -50 to 50 (capped by Temperature Zone)

Area Water Content (in Percent)
Determines Fog and Clouds and helps tweak Precipitation
Default int 20 (% Water)
Range 0 to 100

NOTE: More than 40 will make it very likely to rain all the time

Hemisphere
For North (N) or South (S) of Equator
Default string N

Global Fog script note. Unity Image Effect GlobalFog.cs is set to not public. You must simply add the public in front of the class in the script. This will elevate the script to be able to be used by other systems.

7 Likes

Some Satiation Pics. :wink:





3 Likes

And some others. :sunglasses:





2 Likes

And a couple more. :slight_smile:
This is full on weather at 0.4C. Rain, Snow, and 90%+ humidity…~75fps <= incredible



4 Likes

Hi Folks.
Added pics of what this Genesis Weather System looks like. I completely underestimated the PDF Manual and had a few Weather Manager Window issues I completely forgot about as well. The Weather itself works extremely well and has proven very reliable and robust. This is a very complicated and dedicated system of work here. Thanks to all in the other forum for your patience while this has become…well…this. :smile:

Please have a look at the excellent pics above. Soon you will have this in your hands as well.

Cheers
O

3 Likes

@Olander This looks really cool! Congrats! I look forward to see how well this works on some mobile devices.

2 Likes

Hey! Actually the weather will mostly work fine since I pulled the Volumetric 3D clouds. The only thing that you may have to do is reduce the snow (just like before with the other version). The rain will probably be just fine. I did add particles to make the Fog so much better so that will be an informational test. The particles move slowly and they are much larger so those may be fine as well.

I will be looking forward to the testing on Mobile from yourself and others.

Thanks again for being patient!
Cheers
O

1 Like

Well this sounds fascinating! Thx to @docsavage_1 for mentioning! Guess I’ll try it once it’s out.

@Olander what’s the plan for volumetric clouds? Add later? Does this include/do you plan crepuscular ray (sun shafts) based on humidity, etc?

Thx, R.

2 Likes

@Arkade
Thanks for stopping by.

  1. Volumetric Clouds. There is really no good way to render the particles to get proper Sun Rise and Sun Set coloring of these. I made some really decent looking versions of these but just could not get them right. If the scene was more static (no day/night cycle) they work fine. Performance would be left for desktops since there are A Lot of particles being used. If you want to try to make them yourself you can use either my particle fog or ground fog to make them. Simply make them a cone with a 15deg angle and matrix them into a large rectangle. You will need roughly 25 of these particle fog cones with 15-17 active at any time inside the rectangle. Now simply move the rectangle across the sky at an elevation of your choosing. In a Medium Cloudy Day you could easily have 25-30 of these rectangles floating about in the sky.
    Note: In testing with v5.4 it rendered very nicely but you could see the rendering pipeline being chewed to bits with these. We are not quite there yet technically.

Future Support/Addition:

  1. Volumetric Particle Clouds…actually work if in a static lighted scene. Since I created a weather system for any planet that also has Day/Night then I cannot offer them to the table…even with known caveats. I would get sucked into supporting and working around Unity particle limitations and custom shaders.

  2. Pseudo Volumetric Spherical Clouds…these are much better performance but look like crap when flying through them. Rendering these is tricky during Sun Rise and Sun Sets as well. Also since we are dealing with transparency in the spheres they just don’t layer quite right during rendering. Close but in the end…just not right.

  3. Layered Plane Volumetric Clouds…these look great from the ground and move with ease. They also render quite nicely…however…they are not acceptable for Fly Through applications because once you get into the clouds they look like Cloud Sandwiches. :slight_smile:

v5.4+ in Unity has marked improvements in rendering…which gives us a chance with Volumetric Clouds #1. If the particles are changed a bit we may have a chance at finally having these for Day/Nights.

  1. Sun Shafts. They do indeed work. Although I will not have them in the control scheme but they are fairly simple to add. This is a very subtle effect with respect to the clouds. This script adds some really nice shafts in forests and interiors. See the next post for the picture…also showing the clouds can be scaled smaller.
  • Add the Unity Sun Shafts to the MainCamera
  • Add an Empty Object and position this above all the Genesis Weather meshes. This Empty can move between ~10:00-14:00 vertically above the meshes
  • Drag this empty to the Shafts Caster slot in the Sun Shafts MainCamera script.
  • Set the intensity 15-20-ish

Hope that helps.
Cheers
O

1 Like

Genesis Weather with Sun Shafts and the clouds have been scaled to the smaller scale.


Same exact scene with the clouds set to normal scale.

1 Like

The Weather Manager(s) are finally complete and now the manual is getting its final touch ups.I have some more pics to wet the whistle. These next are showing off the Multiple Moons and Night Sky. I have included 8 Moons and 6 different galaxy sky textures for you to choose from. The moons each can have their own Orbit angle in Clockwise or Counter-Clockwise. Each may be scaled in the script and they have their own Axis Rotation as well in both Clockwise-Counter-Clockwise.
Enjoy :wink:

1 Like

And some night shots of the various star fields. :slight_smile:


2 Likes

Looking forward to it! Might integrate it in the Procedural Landscape Generator I started to build (which will also be available for free, once the base version is finished).

2 Likes

Genesis Weather is Now Released!

If you find any bugs or issues or even general comments. Please feel free to ask them right here.

Enjoy this really awesome weather simulation for your projects.
Cheers
O

1 Like

Would be awesome to be integrated into your Procedural Landscape Generator. Should be really simple to do since Genesis Weather is really really simple to add to a scene. Have a look at the Add Weather to Scene button in the Weather Manager for info on how to tie that into your system…it will be REALLY easy.

Cheers
O

1 Like

Hi Olander. It’s really great of you to build something like this. We’re curious if it is networked so that multiple players will see the same time of day and weather effects?

EDIT: Nevermind, I found your documentation after I asked.

1 Like

Glad that you found it. One note about clients seeing the same weather. The entire system is built around having the exact same weather conditions on the dedicated server and all clients. So yes…fully networked. What cannot be networked are the particles. When they happen can but Which One specifically cannot. You could even network the same Thunder Audio but currently it is also random as well…but remember…the client will hear Thunder at the same time.

Hope that helps relieve a small caveat with the networking.

Cheers
O

Congrats on the release Olander !

I am seeing an error on Import, have searched the project but cannot find gGenesisDatabase

Assets/Genesis_Weather/Scripts/Weather/gWeatherData.cs(20,7): error CS0246: The type or namespace name `gGenesisDatabase’ could not be found. Are you missing a using directive or an assembly reference?

EDIT: All good, have found Genesis Database online here but now getting the following errors:

Assets/Genesis_Weather/Scripts/Weather/gWeatherMaster.cs(53,5): error CS0118: gWeatherMaster.GlobalFog' is a field’ but a type' was expected Assets/Genesis_Weather/Scripts/Weather/gWeatherSunCycle.cs(47,5): error CS0118: gWeatherSunCycle.gTime’ is a field' but a type’ was expected
Assets/Genesis_Weather/Scripts/Weather/gWeatherZone.cs(55,5): error CS0118: gWeatherZone.GlobalFog' is a field’ but a `type’ was expected

I’m using Unity 5.4.0p4 on Mac El Capitan 10.11.6

EDIT2: Have fixed the above errors by making GlobalFog public in ImageEffects, and then also needed to install Olander’s Genesis Time Control from here

Now getting this error:

Assets/Genesis_Weather/Scripts/Includes/gGenesisWeather.cs(2089,18): error CS0103: The name `gConversions’ does not exist in the current context

1 Like
  1. Well…gWeatherData is no longer used really but is there for an example on remote data. It can be deleted…I will fix the unity package without this in it. No need for it in this version.

  2. GlobalFog.cs is a common one. You made the right fix to make that script public. I will post a note about this in the initial posting on this forum and my site as well. Thank you for the reminder! I did this a really long time ago and forget about these things. :slight_smile:

  3. gTime should not be required…I see what is going on…because gTime is not in your project the script is still referencing this on line 47. So what you would need to do if you do not need a really nice time controller like Genesis Time…do this.
    gWeatherSunCycle.cs line 47 comment out like so => //gTime gTime; then Find each gTime in that script and comment those out as well. No way around this really.

  4. gGenesisWeather.cs : Looks like I missed one. I have my own library in the Genesis Framework and replicated functions that I needed to for Genesis Weather to be stand alone…here is the quick fix to this one.
    Line 2089 change => fT = gConversions.FloatToRounded(fT, 1);
    to => fT = ORW_FloatToRounded(fT, 1);

/*********************************************************************************************************/
Genesis Weather Package has been updated with the fixes 1) & 4) above. Thank you for posting!

Cheers
O

1 Like

Thanks for this Olander. I’ve just downloaded and and look forward to playing with it when current project finished. Had a quick read of you views on 5.4 being a good improvement. Interesting to see a balanced view of UE4 and U5.4. To me it’s amazing that all these tools U5, Ue4, Cryengine, blender, gimp etc are free.

Thanks Olander

1 Like