Search Unity

SESSAO (High-Quality SSAO w/ Color-Bleed)

Discussion in 'Assets and Asset Store' started by sonicether, May 4, 2015.

  1. sonicether

    sonicether

    Joined:
    Jan 12, 2013
    Posts:
    265
    Sonic Ether's Screen-Space Ambient Occlusion


    The new free version is pending review, a link to the Asset Store page will be here when it's approved.

    Sonic Ether's Screen-Space Ambient Occlusion (SESSAO) is an image effect for Unity 5.4 and up that approximates soft contact shadows to bring a lighting phenomenon seen in the real world to your scenes. Not only is it algorithmically unique and flexible, it includes a "color bleeding" feature not seen in other SSAO solutions that can further improve the quality of your scenes. Its quality to performance cost ratio is much higher than built-in Unity SSAO and many other SSAO algorithms.

    SESSAO is plug-and-play. Simply add the image effect to your main camera and that's it! It is compatible with Forward, Deferred, and Legacy Deferred rendering paths, DX9 and DX11, and works with any shaders (including Alloy shaders). This image effect is not compatible with mobile devices.

    Please refer to the included User Guide for details on how to use this asset.
     
    Last edited: Jan 29, 2017
  2. SAOTA

    SAOTA

    Joined:
    Feb 9, 2015
    Posts:
    220
    Awesome. Very excited to try this.



    Webdemo is great. You really managed to get some fantastic results. Keen to see what the cost is in VR.
     
    RB_lashman likes this.
  3. elias_t

    elias_t

    Joined:
    Sep 17, 2010
    Posts:
    1,367
    That looks really good!

    Looking forward for your SSGI solution. Any news on this?
     
    RB_lashman likes this.
  4. Pulov

    Pulov

    Joined:
    Feb 20, 2010
    Posts:
    824
    Fingers crossed for low performance hit.
     
    nxrighthere, twobob and RB_lashman like this.
  5. ksam2

    ksam2

    Joined:
    Apr 28, 2012
    Posts:
    1,080
    Is this something like HBAO+?
     
  6. TwiiK

    TwiiK

    Joined:
    Oct 23, 2007
    Posts:
    1,729
    I'm not seeing any color bleeding on my iMac at work.

    These are the specs from "About This Mac":

    iMac (27-inch, Late 2012)
    Processor: 3,2 GHz Intel Core i5
    Memory: 16 GB 1600 MHz DDR3
    Graphics: NVIDIA GeForce GTX 675MX 1024 MB
     
  7. twobob

    twobob

    Joined:
    Jun 28, 2014
    Posts:
    2,058
    upload_2015-5-4_14-46-52.png

    web demo run on a GT240.

    There appears to be a touch of tonemapping on it as well?
    perhaps to iron out hdr, I don't know.

    Anyways about .5
     
  8. RB_lashman

    RB_lashman

    Joined:
    Aug 15, 2013
    Posts:
    92
    not bad ... especially for a GT240!! :D
     
  9. TwiiK

    TwiiK

    Joined:
    Oct 23, 2007
    Posts:
    1,729
    The color bleeding shows up on my home computer so is it a hardware issue?

    At home I'm using Windows 7 64-bit with a Geforce GTX 680. I'm guessing the ram and cpu doesn't matter here. :p
     
  10. Golesy

    Golesy

    Joined:
    Apr 10, 2013
    Posts:
    35
    Definitely excited to try this with my current game Megatect. AO is integral to the art style and if I can get half the performance from this as seen above i'll be overjoyed!
     
    RB_lashman likes this.
  11. RB_lashman

    RB_lashman

    Joined:
    Aug 15, 2013
    Posts:
    92
    I think he said (in the WIP thread) that it performs better than the built-in ssao in Unity ...
     
    Golesy likes this.
  12. ksam2

    ksam2

    Joined:
    Apr 28, 2012
    Posts:
    1,080
    Is this something like HBAO+?
     
  13. seon

    seon

    Joined:
    Jan 10, 2007
    Posts:
    1,441
    No color bleeding here either on OSX in the web player demo.

    2014 RMBP
    Nvidia 750M , OSX 10.10.3
     
  14. sonicether

    sonicether

    Joined:
    Jan 12, 2013
    Posts:
    265
    It's coming along steadily. I've got quite a few ideas for it that I'd like to try implementing soon. I want to make sure the release of SESSAO is as stable and bug-free as possible first, though. Immediately following that, I will update SENBDL. Then I can focus on GI. Oh, and you called it "SSGI", if you meant "screen-space global illumination", let me clarify that my GI solution is not a screen-space effect. Illuminated surfaces not seen in the view frustum still cast indirect light. :)



    Yep, there's a bit of tonemapping on there to reduce ugly color clipping. Keep in mind that what you're looking at is the CPU profiler, the real performance draw is going to be on the GPU. When I mentioned quality to performance hit ratio in the OP, I wanted to convey that this was my main focus for this asset. If you crank up Unity's included SSAO in an attempt to try to get it looking as good as SESSAO, you'll notice that Unity's SSAO takes over 2x the performance hit as SESSAO while still not quite achieving the same image quality. Unity's SSAO is quite fast at default settings, but in my opinion, it's unusable at those settings because of how bad it looks. SESSAO is quite scalable (with downsampling, half-sampling, disabling color bleeding, etc.), but perhaps I'll consider including a completely separate approach to emphasize speed in a future update if people still find performance cost to be an issue.

    Thanks for letting me know, guys. I do not own a Mac, so I can't quite test this myself. I'd like to find a fix for this immediately. I'll try changing a few things and post some additional web player demos, it would mean a lot to me if you guys could take a look at those when I post them and let me know whether color bleeding is working or not.
     
    Arkade and RB_lashman like this.
  15. Play_Edu

    Play_Edu

    Joined:
    Jun 10, 2012
    Posts:
    722
    nice 1
     
  16. twobob

    twobob

    Joined:
    Jun 28, 2014
    Posts:
    2,058
    How does this perform on more "Open World" scenes.

    upload_2015-5-5_5-10-6.png

    We found that the default Unity one becomes unusable when using larger camera far planes in these setups.
    distantDetails.JPG
    Are there any caveats that we should know? I noted you had a small enclosed scene, hence the question.


    We would very much like to throw some photo-real(er) AO into large cartoony worlds to help with definition.
    chicks.JPG

    thanks
     
  17. TwiiK

    TwiiK

    Joined:
    Oct 23, 2007
    Posts:
    1,729
    @sonicether No problem, just post them here and I'll have a look. Try posting a standalone as well. In Ludum Dare I noticed a few differences between Web Players and standalones on Mac. Differences I hadn't noticed before, mainly because I don't develop on my Mac. And seeing as the Web Player is a dying breed you may as well. :p
     
    RB_lashman likes this.
  18. elias_t

    elias_t

    Joined:
    Sep 17, 2010
    Posts:
    1,367
    That makes it more interesting!
     
    RB_lashman likes this.
  19. RB_lashman

    RB_lashman

    Joined:
    Aug 15, 2013
    Posts:
    92
    nah, it's gonna be called SEGI ;) you know ...



    lol :p
     
    Atomike, punk, Arkade and 1 other person like this.
  20. Fishypants

    Fishypants

    Joined:
    Jan 25, 2009
    Posts:
    444
    Sweet! Can't wait for it to be out!
     
    RB_lashman likes this.
  21. RB_lashman

    RB_lashman

    Joined:
    Aug 15, 2013
    Posts:
    92
    well it's up to Unity guys now ... Sonic already submitted it the day before yesterday :) all we can do is wait
     
  22. Fishypants

    Fishypants

    Joined:
    Jan 25, 2009
    Posts:
    444
    I keep refreshing this page and playing with the web demo. Come on UT and approve it already!
     
  23. Cynicat

    Cynicat

    Joined:
    Jun 12, 2013
    Posts:
    290
    wow! amazing stuff sonic! really amazing! i have never seen AO that good before. its also really stable for AO. so often ao has temporal problems(flickering, edge artifacts, etc...). this has the least artifacting i have seen in any ao effect. and the color bleed is gorgeous! i really can't wait to use a better scene with it. sponza is a good demo scene but is really meh in a lot of ways.
     
    RB_lashman likes this.
  24. DivergenceOnline

    DivergenceOnline

    Joined:
    Apr 19, 2015
    Posts:
    244
    I think people are forgetting (on this thread and the original one) one of the most important aspects of an SSAO asset - The ability to specify range.

    You don't need to be rendering super-fine details like this past like 50m and in many cases, even trying this will create hideous artifacts.

    The closest mention I found was one of the above people mentioning it breaks on "extremely far clip planes", which is true and again would be defeated by a range variable. Our current view distance is 6km so as much as i'd like to replace our current SSAO solution (We use a ranged Ambient Obscurance effect) with SEs it wouldn't be possible without the ability to specify range.
     
  25. Cynicat

    Cynicat

    Joined:
    Jun 12, 2013
    Posts:
    290
    while it might be a neat feature i don't agree with the sentiment that its one of the most important aspects. only a small portion of unity games have a large enough view distance to warrant it. also if your view distance is 6km and your using 1 camera... you will have problems anyway since your depth buffer is stretched over 6000 units. it doesn't have that much definition. distance will only hide long range artifacts. not close range ones caused by lack of depth information.
     
    RB_lashman likes this.
  26. DivergenceOnline

    DivergenceOnline

    Joined:
    Apr 19, 2015
    Posts:
    244
    That's understandable. It isn't required for you to agree to something for it to be true.
    Regardless of how short or far a game's view range is, the core issue is that unless you are ceasing the effect at a specified distance, you are applying it indifferently to absolutely everything in your scene. This is OK for things such as bloom. It's not ok for things like SSAO. If you disagree, I invite you to enable unity's included SSAO and witness what happens with a view range of merely 200m.
     
  27. sonicether

    sonicether

    Joined:
    Jan 12, 2013
    Posts:
    265
    Just to be sure you guys are aware, there is a "draw distance" parameter in SESSAO, as well as a parameter that controls how suddenly or smoothly AO fades out.
     
    RB_lashman and Cynicat like this.
  28. Cynicat

    Cynicat

    Joined:
    Jun 12, 2013
    Posts:
    290
    i didn't say it wasn't an issue. just not one that applies to everyone. if someone puts forward an alternate opinion it doesn't mean they are trying to tell you your wrong. chill. also unity's builtin AO has flickering issues all the time.
     
  29. DivergenceOnline

    DivergenceOnline

    Joined:
    Apr 19, 2015
    Posts:
    244
    Perfect!
    SENBDL was such an improvement that my game, Divergence, ended up converting completely from gamma to linear to use it and have been very pleased with the results. The only complaint I had was that it put a slight grey haze over everything, so I just corrected it by crushing the blacks downstream.
    If SESSAO is engineered with the same attention to detail, I can't wait to get my hands on it and replace our existing ranged obscurance effect with it.

    Screenshot-2015-05-09-21.352.png Screenshot-2015-05-09-21.35.png
     
  30. buttmatrix

    buttmatrix

    Joined:
    Mar 23, 2015
    Posts:
    609
    I had no idea it took the Unity Asset Store so long to process published assets for approval.
     
    Last edited: May 12, 2015
    RB_lashman likes this.
  31. RB_lashman

    RB_lashman

    Joined:
    Aug 15, 2013
    Posts:
    92
    I know, right? but yeah - it's still in approval (for whatever reason) unfortunately :(
     
  32. Cynicat

    Cynicat

    Joined:
    Jun 12, 2013
    Posts:
    290
    yeah sadly they say like 7 days they mean about 14.
     
    RB_lashman likes this.
  33. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    5,686
    Sometimes it's shorter, sometimes it's longer. I notice there haven't been a lot of new items added to the store the last few days, so maybe some of the staff are on vacation right now or something.
     
    RB_lashman likes this.
  34. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    5,686
  35. RB_lashman

    RB_lashman

    Joined:
    Aug 15, 2013
    Posts:
    92
    yup ... it's up now .. FINALLY :D so, everyone ... go, go, go :D
     
  36. blueivy

    blueivy

    Joined:
    Mar 4, 2013
    Posts:
    633
    Now for the bloom update and GI, my unity project will look gorgeous thanks to @sonicether :eek::D
     
    RB_lashman likes this.
  37. Trunka

    Trunka

    Joined:
    Dec 3, 2014
    Posts:
    17
    YAY!
     
    RB_lashman likes this.
  38. xenius

    xenius

    Joined:
    Sep 30, 2010
    Posts:
    523
    Bout damn time! :)
     
    RB_lashman likes this.
  39. RB_lashman

    RB_lashman

    Joined:
    Aug 15, 2013
    Posts:
    92
    better late than never ;) it's been "processing" in there since the 4th :p
     
  40. Fishypants

    Fishypants

    Joined:
    Jan 25, 2009
    Posts:
    444
    Sweet! Just bought it! Thanks SonicEther!
     
    RB_lashman likes this.
  41. Golesy

    Golesy

    Joined:
    Apr 10, 2013
    Posts:
    35
    I know I'll be tweaking these numbers for months but here's a quick shot of it in my game. Works wonders right out of the box and as you can see in the top right the frame rate is completely unaffected! Believe the hype!
     
    macdude2, Arkade, blueivy and 3 others like this.
  42. Seith

    Seith

    Joined:
    Nov 3, 2012
    Posts:
    755
    @sonicether Hi, I just bought this asset and it looks really excellent! I hate to be the first one to report an issue but it seems there is a problem with forward shaders created with Shader Forge. My vegetation shader seems to be see-through for the SSAO and that of course creates some very unsightly artifacts.

    Here's a screenshot of the issue; scene view on top, game view at the bottom:



    I'm on Windows 8.1, Unity 5.0.1p1, DirectX 11 and Linear color space. I really hope you can find a solution for this; the AmbientObscurance screen from Unity doesn't have this issue (but of course it doesn't look anywhere as good as this asset).

    Also, if it can help solve the problem, I've attached my vegetation shader to this message.
     

    Attached Files:

  43. Zeblote

    Zeblote

    Joined:
    Feb 8, 2013
    Posts:
    1,102
    Can you upload both images individually (so we can put them in two tabs and switch between them) and not downscaled? :) That's usually better for comparing screenshots
     
    RB_lashman likes this.
  44. Golesy

    Golesy

    Joined:
    Apr 10, 2013
    Posts:
    35
    RB_lashman likes this.
  45. Hikiko66

    Hikiko66

    Joined:
    May 5, 2013
    Posts:
    1,304
    Can anyone else not see the labels in the editor for the sliders and radio buttons?
     
  46. xenius

    xenius

    Joined:
    Sep 30, 2010
    Posts:
    523
    @NA-RA-KU Do you have any current script errors in your console? If you imported the package with active errors, the editor script for the ssao prob. has been able to compile
     
    RB_lashman likes this.
  47. potatojin

    potatojin

    Joined:
    Apr 11, 2012
    Posts:
    23
    Yes, I have the same issue.
     

    Attached Files:

  48. Golesy

    Golesy

    Joined:
    Apr 10, 2013
    Posts:
    35
    I've also noticed if you have the script attached to a prefab, you can't see many of the values in the inspector. Copying the values from the hierarchy camera and pasting as values works fine though so its just a visual bug.
     

    Attached Files:

  49. Hikiko66

    Hikiko66

    Joined:
    May 5, 2013
    Posts:
    1,304
    It's functional and I can play with it, I just can't see the labels. I can step through the editor GUI code and it seems to be populating things correctly. There aren't any errors.
     
  50. Zeblote

    Zeblote

    Joined:
    Feb 8, 2013
    Posts:
    1,102
    Are you all on the light editor skin? Looks like he forgot about the personal edition and used grey labels.

    If that's the issue it should be easy to fix.
     
    RB_lashman likes this.