Search Unity

Assets Planetary Surface, Ocean & Volumetric Cloud Shaders/System :)

Discussion in 'Works In Progress' started by FirstTimeCreator, Jul 21, 2019.

  1. FirstTimeCreator

    FirstTimeCreator

    Joined:
    Sep 28, 2016
    Posts:
    729
    I am working on planet and planetary volumetric cloud shaders.

    These clouds are meant to be viewed from space, however the end result may be something that can be viewed from space and ground level terrain. In my next update I am adding lightning lighting FX within the cloud volume.

    If you like what I'm doing, don't forget to like and sub the tube channel. Thanks!

     
    CityGen3D, Firlefanz73 and Billy4184 like this.
  2. FirstTimeCreator

    FirstTimeCreator

    Joined:
    Sep 28, 2016
    Posts:
    729


    Many upgrades in this update.

    1. Planet shaders now support multi-layer blending for blending high resolution textures into the planets large "base map". This helps eliminate pixeling on massive scale objects and improve visual quality and allows the planets to scale to epic massive size while preserving the visual quality. 2. Multi-layer blending supports Animation Modes for surface blended textures allowing for the appearance of movement on lakes and rivers.

    3. Volumetric Cloud system now supports Noise based cloud formation, I am still at work on the cloud system improving visual quality and trying to solve some difficult UV wrapping issues, adding multi-layer depth support and animation for depth based movement within the cloud volume, as well as the ability to alter the visual movement types so that I can implement different cloud types such as Gas Clouds, Stratus, Cirrus and various types of Earth style clouds. Future updates will also include advanced lighting controls for setting emission, depth, lit and dark side planet location controls, Dynamic weather - (Storm formation) and a system to externally generate data for lightning strike locations for accurately generating ground based particle effects from the clouds to the surface, such a procedural lightning bolt striking the ground from the origin of a lightning strike within the cloud volume accurately. Once completed, you could have more than just lightning, you could have things like tornadoes, which would create a truly epic experience. I also have plans for Vertex Displacement Collisions for things like Meteor showers and asteroid collisions which will alter the planet surface mesh and surface textures on collision.

    4. Also... I'm going to setup a second mesh and attempt a vertex displaced ocean with waves that will appear on top of lakes and rivers, which will give a sense of depth to ocean and lava surfaces, this should be quite interesting if I can pull off what I envision.

    Key Notes:
    - This will be an asset I will be selling on the asset store when completed.
    - This system uses Amplify Shader Graph and will be fully customizable by anyone who has moderate to advanced shader knowledge and knows how to use Amplify.
    - This Asset package will include, fully customizable planetary shaders, planetary volumetric cloud system with dynamic weather system & optimization controls, Planetary Ocean & Water Layer System, Spacial Volumetric Fog and Clouds System for making Nebula's, Dust Clouds, Black Holes and so on. Also included will be replacements for the Unity standard shader for Models in space, such as ships and space stations which will remove the need to use directional lights. This entire system is being designed to work off a Point Light at the center as of the Sun as the light source for accurate Galaxy and Star System lighting.
    - I will also be working on a custom Shadow System removing the need for Unity's shadow system which isn't designed for large scales and distances.
    - The asset will come with in-depth documentation, example scenes and tutorial videos. - To my knowledge it will be the only planetary volumetric cloud system publicly available for purchase and it will work with any other planet system, such as a "planet generator" or "planet terrain editor". If i have the time, or the asset does well on the store I might end up building my own Planet terrain editor that will come with the asset, currently I am using tessellation so there won't be accurate surface collisions without making a height map displaced sphere mesh in blender or an external modeling tool.

    Additionally.... I may end up creating another Youtube Channel for this Asset and posting all new related development progress videos there sometime in the near future.
     
  3. FirstTimeCreator

    FirstTimeCreator

    Joined:
    Sep 28, 2016
    Posts:
    729
    I have started on the planetary ocean system, It's still very early in development. Just wanted to showcase the performance and the fact that fully realized oceans are possible with high poly vertex displacement.

     
  4. Firlefanz73

    Firlefanz73

    Joined:
    Apr 2, 2015
    Posts:
    1,135
    That looks really great :cool:
    Do you plan an (public) asset with those?
     
  5. FirstTimeCreator

    FirstTimeCreator

    Joined:
    Sep 28, 2016
    Posts:
    729
    Yes I am building the asset package to sell on the asset store. It's going to be several months before I have something to to the level of quality required. Also will have to make a pretty extensive documentation.

    The packages primary features will be:
    Planetary Shaders + atmosphere - with extensive texture blending controls which are designed to work with point lights.
    Planetary Volumetric Cloud System - with extensive controls and many examples
    Planetary Volumetric Cloud System - Dynamic Weather with integrated Particle systems (which will allow for synchronization of Particle FX such as lightning that strikes the surface to be synchronized with the lighting FX inside the cloud volume. (so you can spawn lightning and weather FX only under the clouds around the planet). Real Rain will also be possible, meaning you could have actual rain appear from actual cloud formations on the planet surface.


    Planetary Ocean System - Vertex displaced high poly ocean system with extensive wave and texture blending controls.

    These are the primary features of the asset which i will attempt to submit it to the asset store when these are mostly done.
    Development will continue and I will add more features such as:
    -Unity shader replacements for space objects (ships, space stations) designed to work with point lights using a custom lighting model.
    - Height map based buoyancy system for the planetary ocean along with planetary gravity and a basic ship/boat controller.
    - Unity shadow replacement system for realtime shadows integrated into the shaders.

    I will be using this asset in the game I'm building as well, so the asset will be continually developed and supported.

    If you like it now, give me a few more weeks - I am working on it full time. It's actually still really early in development. You are seeing the early prototype. The clouds are going to get much much better, everything will. I'm just building the basic components out and then i will go back and iterate over each system.

    I may throw in my custom floating origin system as well, pretty much everything one needs to start building a space game (environment) or even a land based game on the surface of fully rendered planets.

    Also worth noting is everything is being done With Amplify Shader Graph, So the entire system will be fully customizable and expandable.
     
    Last edited: Jul 25, 2019
  6. Firlefanz73

    Firlefanz73

    Joined:
    Apr 2, 2015
    Posts:
    1,135
    Sounds very interesting. Will it work on both PC and Smartphones (newer ones)?
    Count me in if you are Looking for testers :)

    I am just finishing my game and will start to work on my Space shooter in a few weeks.
    It will have heavy focus on modular space ships with much physics and nice GFX.

    Maybe some shiny metal shaders would be a nice addition to your planet and Ocean shaders :D

    Thanks for the info, I will have an eye on this!
     
  7. FirstTimeCreator

    FirstTimeCreator

    Joined:
    Sep 28, 2016
    Posts:
    729
    I doubt it will work on smart phones, especially the volumetric cloud system. A single layer cloud system and low poly modifications could make it possible to work on a smart phone but honestly I'm not investing time into that. My focus is making it functional on mid-grade PC's or better or consoles.
     
  8. FirstTimeCreator

    FirstTimeCreator

    Joined:
    Sep 28, 2016
    Posts:
    729


    Just a little update and me rambling. The ocean isn't done yet, just wanted to show you guys a little performance test. Still working on many aspects of the ocean from textures to wave variations and types. In the next update I should have moving foam on wave tops and 3 different types of waves on the ocean surface, Large Displacement waves which will displays large areas of the ocean slightly underneath the "large waves" and small waves in between the large surface waves. I'm also going to spread the waves out more so that they aren't so dense. I'm also working on a gradient style masking system for adding depth coloring around the waves and in between waves. So waves will appear to be more shallow at the farthest point between waves will appear deeper. After these things are done I will be working on an overall surface masking system for masking and blending edges around a terrain/planetary surface mask.
     
  9. FirstTimeCreator

    FirstTimeCreator

    Joined:
    Sep 28, 2016
    Posts:
    729


    Here I talk a little bit about my progress so far and some of the challenges of building a planetary ocean system wrapped around a sphere. The main challenge is finding the proper heightmap(s) and blending to achieve both a natural look at the surface level and from space, in other words removing the appearance of tiling and providing a sense of randomness and natural appearance to the ocean waves. Along with this comes the Depth coloring for displaying ocean height differences (deep and shallow) water. More updates to come so stay tuned!
     
  10. FirstTimeCreator

    FirstTimeCreator

    Joined:
    Sep 28, 2016
    Posts:
    729


    Here is another update in my pursuit of both mastering Shaders and building the ultimate planet shader rendering system. The system features a planetary ocean with 3D waves & foam, volumetric clouds & atmosphere. This system is still under construction! The earth in this prototype build is 1 million meters in diameter making it the size of a small moon in real world scale. The planet's surface has high resolution textures blended into the planets base earth texture for enhanced resolution both close up and at a distance. THINGS TO LOOK OUT FOR IN MY NEXT UPDATE: - Improved Texture blending with more detail. (adding more surface textures). - Improved volumetric clouds (lighting,depth coloring, detail masking) + optimization - Sunset shading/fading/coloring for the atmosphere between the dark and lit side of the planet - Improved night lights with blended City textures as well as Vertex Displaced Cities on the lit side of the planet. Actual "Sky Scrapers" that poke out of the planets surface and are textured. I wanted to be able to see actual cities on the planets surface with 3D depth. - Improved Atmospheric transition - Improved Flight Controller - Target Indicator ICONS for planets/Space stations/Objects with custom made UI icon shaders. NOTE: These are my shaders that I built from scratch using Amplify, not something purchased on the Asset store. In case anyone is wondering.
     
    Bartolomeus755 and Firlefanz73 like this.
  11. FirstTimeCreator

    FirstTimeCreator

    Joined:
    Sep 28, 2016
    Posts:
    729
    Volumetric clouds now project shadows onto the planets surface. This is a low resolution performance test. The shadowmask is only 512K in resolution, so I can get a better quality by increasing that. In my next update I will have improvements to the cloud shadow projection and hopefully a seamless atmosphere and entry exit so stay tuned!

     
    Firlefanz73 likes this.
  12. FirstTimeCreator

    FirstTimeCreator

    Joined:
    Sep 28, 2016
    Posts:
    729
    I am not quite ready to make a new video yet but I figured I would post an update and show the progress of the shaders compared to my last iteration.

    The difference is night and day as the systems are coming together and I work to improve each.

    It has taken me more time to get another update out than expected because I lost about 3 days trying to make gerstner waves work on the ocean and then failed to convert the displacement data into a usable heightmap for blending in foam FX. So, I designed my own wave displacement system with noise which I will showcase in my next update.

    I also had to design and implement a custom postFX pipeline by turning 4 cameras into target textures and creating a "compiler" shader. which will allow me to apply custom postFX shaders to each specific camera as well as to each layer within each camera independently while maintaining the camera depth which allows me to postFX spacial objects, the ocean, clouds, planets and skybox as well as elements within each separately.
     

    Attached Files:

unityunity