Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

UniSky - real-time procedural sky tool - now available on the Asset Store

Discussion in 'Made With Unity' started by Chris Morris, Jan 7, 2011.

  1. Chris Morris

    Chris Morris

    Joined:
    Dec 19, 2009
    Posts:
    259

    UniSky implemented in the island example project


    Hey guys - just wanted to let you all know that UniSky, our procedural sky tool, is now available on the Asset Store.

    It costs $100 USD ($125 where VAT applies) and includes all future updates. This tool is functional with Unity Indie as well as Unity Pro but in Unity Indie the illumination (3d shading) is disabled due to its usage of render targets.

    UniSky Features

    * 24 hour day/night cycle with sun, moon and stars
    * Atmospheric scattering for realistic sky colors at any time of day
    * Dynamic directional light color and positioning for the sun and moon
    * Procedural 2D cloud animation with dynamic 3D lighting and shading
    * Parameterized cloud cover, precipitation level, atmospheric scattering, glow, wind direction/speed and colors
    * Highly optimised and runs almost entirely on the GPU

    To clarify, the clouds are not volumetric and so are not "fly-through" - this was decided because volumetric clouds usually cost more performance-wise than they are worth. Dynamic 3D lighting is implemented to achieve a similar 3D look without the overhead of polygonal clouds.

    For more screenshots, visit the website at: http://www.sixtimesnothing.com/unisky/

    To watch a brief video: http://www.youtube.com/watch?v=VMM6tfgviS8

    You can also view a tutorial video here: http://www.youtube.com/watch?v=rjHJBwNs2pw

    Edit - Added a video with our custom sun shaft effect that will be included with the upcoming weather release: http://www.youtube.com/watch?v=-iFOl_RZgMY

    Thanks and good luck on your projects!

    - Chris
     
    Last edited: Jan 21, 2011
  2. Pixelstudio_nl

    Pixelstudio_nl

    Joined:
    Jun 22, 2009
    Posts:
    179
    Hmm looks like the same implementation as mine .. :) nice stuff!

    based on rayleigh/mie ?
     
  3. angel_m

    angel_m

    Joined:
    Nov 4, 2005
    Posts:
    1,160
    Is it compatible with the Unity built-in lens flare effect for a Directional light?
    Also, I need the clouds to be "fly-through" so, are you going to include this in near updates?

    Thanks.
     
  4. Chris Morris

    Chris Morris

    Joined:
    Dec 19, 2009
    Posts:
    259
    @pixelstudio - Yes, rayleigh and mie scattering is calculated - no lookup tables. It's based off of Sean O'Neils article in GPU Gems 2.

    @angel_m - The sun is represented as a directional light, and positioned accordingly. Also, we will not be doing volumetric clouds - they proved to be far too sluggish for our game.
     
    Last edited: Jan 7, 2011
  5. duke

    duke

    Joined:
    Jan 10, 2007
    Posts:
    763
    Bloody brilliant. Can I feed it a custom cloud texture or replace whatever it uses to do the breakup?
     
  6. Chris Morris

    Chris Morris

    Joined:
    Dec 19, 2009
    Posts:
    259
    @duke - The clouds are produced procedurally, so no texture is involved. I suppose you could hack around the script to use a static texture for the cloud distribution but you'd be losing out on some of the cool features like animation and lighting.
     
  7. PROTOFACTOR_Inc

    PROTOFACTOR_Inc

    Joined:
    Nov 15, 2009
    Posts:
    4,052
    WOW !!!! awesome !!! it's really impressive. I was waiting for that for so much time.I saw the you tube video tutorial. i think you should do a little improvement : creating a script or a manager that handle the atmospheric variations according to tweakable fonctions. ( sky transitions, shiny weather to cloudy/ cloudy to stormy/ stormy to stormy with lightning / by night etc ( parameters like transition duration, weather duration and next weather step ( maybe a random parameter too ) putting this in an array to do the same as a play list. Isnt't that a good idea ??!!!
    Great job, i'll buy this as soon as possible.
     
  8. stephnx

    stephnx

    Joined:
    Mar 18, 2009
    Posts:
    7
    Since you are changing these parameters during game-play, I don't see the benefits.

    Amazing work!
     
  9. UnleadedGames

    UnleadedGames

    Joined:
    Feb 17, 2008
    Posts:
    242
    Damn you guys are doing a good job of keeping me broke! Just an idea, I love how you matched the day/night cycle with the system time! What would even be cooler is if the weather could be linked to a zip code with acuweather or something along those lines for local weather!
     
  10. kfrench16

    kfrench16

    Joined:
    Mar 22, 2009
    Posts:
    73
    Does this require pro? Great job by the way!
     
  11. 3dDude

    3dDude

    Joined:
    Jul 4, 2010
    Posts:
    1,067
  12. bigkahuna

    bigkahuna

    Joined:
    Apr 30, 2006
    Posts:
    5,434
  13. Antitheory

    Antitheory

    Joined:
    Nov 14, 2010
    Posts:
    549
    You say there's no cloud texture... does that mean the noise function is being carried out on the GPU?
     
  14. Zombie Gecko

    Zombie Gecko

    Joined:
    Nov 25, 2010
    Posts:
    32
    Wow, this looks really good. Might have a look at it.
     
  15. runner

    runner

    Joined:
    Jul 10, 2010
    Posts:
    865
    $UniSky.jpg

     
  16. 3dDude

    3dDude

    Joined:
    Jul 4, 2010
    Posts:
    1,067
  17. thellama

    thellama

    Joined:
    Mar 25, 2010
    Posts:
    360
    This looks outstanding, I watched the tutorial video and I'm stunned, jaw dropped. I want this and need this for my current project. I will be buying this.

    What kind of updates do you plan?
     
  18. cosmodog

    cosmodog

    Joined:
    Jan 5, 2010
    Posts:
    45
    Looks great!
    Couple of questions:
    - How expensive is this compared with a sky box?
    - What to do about baked shadows as the sun moves? Any way to bake a few and interpolate?
     
  19. Chris Morris

    Chris Morris

    Joined:
    Dec 19, 2009
    Posts:
    259
    Thanks for the input! I really appreciate it.

    @kfrench16 - yes, I apologize, I should have included that in the description. It uses render targets so it does require Unity Pro.

    @3dDude - Your cloud system looks absolutely fantastic and has the benefit of being "fly-through", so it serves a unique purpose. Had fun in the webplayer, ran absolutely smooth even when flying through.

    @Antitheory - Yes, multiple layers of noise are carried out on the GPU as well as pretty much everything else. Very little of this tool is calculated on the CPU, giving you space for game logic.

    @TheLlama - The first update is dynamic weather. I can't tell you when it will be released, but I'm working on it right now. It will involve procedural, localized storm clouds and effects (rain, snow, wind, etc.) and will of course be free for license holders through the Asset Store's update feature.

    @cosmodog - I'm not sure what you mean, compared with a skybox - You could buy static skybox textures cheaper, but the two aren't really comparable. As for baked textures, I'm afraid there isn't an easy solution other than writing something yourself. Since the lighting changes dynamically in this tool, the shadows also need to be dynamic. However, you could homebrew a script that fades between precomputed shadowmaps, as you mentioned.
     
  20. Mani

    Mani

    Joined:
    Jan 12, 2009
    Posts:
    117
    I love the demo video. Especially the soundtrack. I just wanted to confirm- you did the River and the Path tool as well didn't you?
     
  21. granada

    granada

    Joined:
    Oct 31, 2010
    Posts:
    135
    This looks realy cool,as soon as money is right i will buy this :D.
    In the asset store it comes in at $125 USD

    dave
     
  22. Chris Morris

    Chris Morris

    Joined:
    Dec 19, 2009
    Posts:
    259
    @Mani - Yes. Your website looks really great (*bookmark), thanks for the article. If you're interested in the music, you can hear more here: http://www.youtube.com/user/ReptileVest

    @Granada - Hmmm... that's strange. We priced it at $100 and it is displayed on the Asset Store as being $100. When checking out, does it tell you what the markup is?
     
    Last edited: Jan 7, 2011
  23. cosmodog

    cosmodog

    Joined:
    Jan 5, 2010
    Posts:
    45
    Expensive in terms of performance. Sounds likes most of the work is done on the GPU. My game is targeting non hardcore gamers, so I have to deal with older computers and graphics cards. Any chance you could release a downloadable compiled demo so I can test on my target computer?

    Markup might be VAT?
     
  24. Chris Morris

    Chris Morris

    Joined:
    Dec 19, 2009
    Posts:
    259
    @cosmo - Ah, ok I misunderstood. The shaders require SM 3.0 and so may not be suitable for old graphics cards. On my current computer, with an nVidia 8800 gtx, the performance difference between UniSky, and no sky at all, is actually completely negligible. On most somewhat modern computers, performance shouldn't be an issue. I'd rather not release a build into the wild, but as a rough estimate I'd say if the computers are over 7 years old (around the time GeForce 6 series, thus SM 3.0) than you would have to scale back the tool.

    You could probably reduce the instruction count considerably (albeit reducing visuals) if you were having issues on older computers. Honestly though, I wouldn't buy this tool if I had to do that - you'd be better off coding the traditional single layer, 2d noise clouds.
     
  25. PrimeDerektive

    PrimeDerektive

    Joined:
    Dec 13, 2009
    Posts:
    3,090
    Holy crap, its been 7 years since the GeForce 6 series? Where does the time go?
     
  26. granada

    granada

    Joined:
    Oct 31, 2010
    Posts:
    135
    This is how it comes up,(still worth the money :)).



    Dave
     
  27. 3dDude

    3dDude

    Joined:
    Jul 4, 2010
    Posts:
    1,067
    Thanks!!! it does not really compare to yours though ;)

    I have found that rain is a really hard effect to make look right...

    This is the best I've gotten:



    This only has 400 particleEmissions... Not very much slowdown for me
     
  28. Chris Morris

    Chris Morris

    Joined:
    Dec 19, 2009
    Posts:
    259
    @Granada - thanks for the heads up. It looks like the VAT for EU residents (and possibly others?) is 25%, which explains why it is listed at $100 on my Asset Store. I'll include that in the details.
     
  29. thellama

    thellama

    Joined:
    Mar 25, 2010
    Posts:
    360
    Chris before I buy, can I set the sky light in the editor and use it as one of my directional lights in baking my lightmaps? I think it's a dumb question but I still thought I would ask just to be sure.

    My game currently uses dynamic lighting but no time of day changes (like 24-hr cycles). However, I can see a work around would be just rendering duel lightmaps with AO turned on and setting a noon-time light to generate default AO maps. Then just up the clipping plane for the far-map. Make it so it almost never renders, or delete/replace it with the near-map. (or vice versa for strong AO)

    I could see that allowing Dynamic lighting with lightmapped AOs and still looking awesome.
     
  30. kinifioluss

    kinifioluss

    Joined:
    Jan 14, 2010
    Posts:
    32
    Great job! I'll be buying this as soon as possible! Can't wait!
     
  31. Chris Morris

    Chris Morris

    Joined:
    Dec 19, 2009
    Posts:
    259
    @TheLlama - Yes, you can use the sun object as a directional light for baking lighting just like any other directional light. You can also freeze the time at any point in the day if you don't wish to use the 24-hour cycle.
     
  32. houndie

    houndie

    Joined:
    Nov 25, 2010
    Posts:
    146
    So much money spent ... gah gonna have to start making it soon !! lol

    Thanks for the great work, looking forward to the weather addition.
     
  33. pixelsteam

    pixelsteam

    Joined:
    May 1, 2009
    Posts:
    924
    Chris, this is really bloody fantastic! Great work! I look forward to robbing a bank to buy these tools!!!!
     
  34. neo

    neo

    Joined:
    Apr 22, 2009
    Posts:
    167
    This looks really nice! One question- is it compatible with iPhone Advanced? Unity Pro iPhone Advanced has "render to texture", but I'm not sure if that is the same as "render targets".

    If it works on iOS, I'm buying!
     
  35. Chris Morris

    Chris Morris

    Joined:
    Dec 19, 2009
    Posts:
    259
    @neo - We haven't tested this on iOS, so I will have to say that it is "unsupported". Unfortunately, I don't have an iOS license.

    My understanding is that the CG code is converted to limited GLSL for the iPhone, so I don't know if all the shader functions are supported. I also wouldn't be able to guess what the performance would be if it did run.

    It would be nice if another user (who bought it for desktop or platform) who had an iOS license could test this and give you a more definitive answer.
     
  36. ColossalDuck

    ColossalDuck

    Joined:
    Jun 6, 2009
    Posts:
    3,246
    Wow, your actually selling something for once lol.

    Looks fantastic.
     
  37. Knight12ify

    Knight12ify

    Joined:
    May 21, 2010
    Posts:
    520
    When you release something like this but more advanced: put this for free.
     
  38. Chris Morris

    Chris Morris

    Joined:
    Dec 19, 2009
    Posts:
    259
    Quick update: we just sent in a patch to correct a small visual bug we were getting on ATI cards, added a new parameter, and improved some error handling.

    Keep an eye on the Asset Store version, should be v1.1 soon. Thanks!
     
  39. bigkahuna

    bigkahuna

    Joined:
    Apr 30, 2006
    Posts:
    5,434
    I watched the tutorial video and was impressed to say the least. From what I've seen it looks like the cloud density / shape can be dynamically animated (similar to the Quest5 / Lumion demo) right? Is that done in the plug-in settings or do we have to do this externally through script? Have you tested this with Pro water and the "community ocean project"?
     
  40. WebWolfRussian

    WebWolfRussian

    Joined:
    Feb 5, 2010
    Posts:
    123
    You can will create like UDK :)

    very very cool Day/Night
     
  41. Chris Morris

    Chris Morris

    Joined:
    Dec 19, 2009
    Posts:
    259
    @bigkahuna - yes, the clouds dynamically and procedurally change shape and density. The plug-in gives you control over cloud cover and density(precipitation) and you can instance these variables in a script to change these in real-time (the direction I'm heading with the dynamic weather). Haven't tested this with the community ocean project yet, but I've been following that for quite some time.

    Quick note: The tool is functional with Unity Indie (and has been tested) as opposed to what I previously believed. However, in Unity Indie the illumination (3d shading) is disabled.
     
    Last edited: Jan 11, 2011
  42. 3dDude

    3dDude

    Joined:
    Jul 4, 2010
    Posts:
    1,067

    I thought that render to texture and render targets are both unity pro?
     
  43. Chris Morris

    Chris Morris

    Joined:
    Dec 19, 2009
    Posts:
    259
    You're right 3dDude, I got confused :)

    After looking into it at more detail, the tool is functional in Unity Indie - However, the 3d cloud shading and illumination (the part of the tool that uses RenderTargets) is disabled.

    I was confused because I tested the tool with a copy of Indie and it worked as far as I could tell. After further investigation I found that the clouds were missing the cloud illumination render target, and therefore the 3d illumination.

    Hope this clears things up.
     
  44. 3dDude

    3dDude

    Joined:
    Jul 4, 2010
    Posts:
    1,067

    ahhhhh ok. Why does it need a render to texture for lighting?
     
  45. Chris Morris

    Chris Morris

    Joined:
    Dec 19, 2009
    Posts:
    259
    The illumination shader is 2 pass - the first pass renders the cloud densities to a texture. The second pass uses this texture to calculate current and neighboring densities and render the results of the calculation to another render texture which is fed back into the cloud shader to read from to determine pixel shading.

    Basically, the lighting is determined by "voxelizing" the pixels (creating a 3d representation using the density as the 3rd dimension), simulating a ray cast from the sun to the pixel, and determining intersections by reading neighboring densities.

    In order to be able to read neighboring pixels and pass the calculation results to the main cloud shader, render targets have to be used.
     
    Last edited: Jan 12, 2011
  46. 3dDude

    3dDude

    Joined:
    Jul 4, 2010
    Posts:
    1,067

    I am going to pretend that I understood that... ;)
     
  47. Dreamora

    Dreamora

    Joined:
    Apr 5, 2008
    Posts:
    26,601
    hehe, simply put the render texture serves as a way to transfer the result from one shader to another one :)


    Looks very well done and the video looks like it could be as much fun to waste "brain break time" as watching my defragger (diskeeper) ;)
     
  48. 3dDude

    3dDude

    Joined:
    Jul 4, 2010
    Posts:
    1,067
    hehe, thanks! I get it now :D
     
  49. KRGraphics

    KRGraphics

    Joined:
    Jan 5, 2010
    Posts:
    4,458
    This is a very good tool... :) you basically saved me some bread from buying Vue 9 (which I was hoping to build my skies with using cubemaps, and generate my environments)... now i wonder if I will be able to get my models to have real time reflections using this tool...such as i have a character with titanium body parts...and my shader will have a render texture built in just for this effect.

    And the gallery looks really cool for games... but since I have Unity (Indie), I may be forced to bake skyboxes in Vue just for the shadowing under the clouds...
     
  50. chadchat

    chadchat

    Joined:
    Apr 5, 2008
    Posts:
    154
    Enjoying getting to know Unisky, nice work. I like how satisfying the clouds are even as you fly the camera right up close.. could watch them all day~

    Probably worth adding to the ReadMe that you need to extend the Camera Far Clip Distance before you jump in..

    Also, do you have any words about the Sun being used for shadows and Baking lightmaps? Is there anything to keep in mind, or do we treat it like any other Directional Light? My shadows aren't being rendered properly from the Unisky Sun and are adding 50+ draw calls~
     
    Last edited: Jan 15, 2011