Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.
  2. We have updated the language to the Editor Terms based on feedback from our employees and community. Learn more.
    Dismiss Notice

Wisdom Ambient Occlusion - evolved SSAO - the best AO

Discussion in 'Assets and Asset Store' started by bobcao3, May 2, 2017.

  1. bobcao3

    bobcao3

    Joined:
    Dec 13, 2016
    Posts:
    46
    It depends on your resolution and your card. I don't know which card you use, if it is HD5790 or something similar, you could get lower than 2ms render time if you have a relatively small resolution and lower quality settings. I can't guarantee that and it shouldn't be a lot faster than HBAO according to my testing (It's just slightly faster). So if HBAO is already too heavy, I will recommend to dial down the quality settings or just don't use AO in there. For the demo, it's a early version of this and it's at maximum quality settings (which means, slower).
     
  2. SilverStorm

    SilverStorm

    Joined:
    Aug 25, 2011
    Posts:
    711
    Thanks for the fast reply! I will purchase it anyway in the hopes that you make some breakthroughs in optimization because if you do then it will probably be the best solution on the store hands down.

    Once it's purchased I will put some tests here.
     
  3. SilverStorm

    SilverStorm

    Joined:
    Aug 25, 2011
    Posts:
    711
    After some testing I haven't really noticed a big comparison in performance between this and HBAO as both are pretty slow even on very low settings. Despite this the quality of Wisdom AO is clearly superior with my settings. Sadly with this scene of rotating dragons and shadows enabled my fps goes to about 40 which isn't playable. I just hope you might bring out some major performance optimizations because that will put this asset at number 1 among AO solutions.

    All the info is here.

    CropperCapture[3].png CropperCapture[1].png CropperCapture[2].png
     
  4. hippocoder

    hippocoder

    Digital Ape Moderator

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    You should realise that the performance characteristics of AO typically do change depending on how far from the affected surface the camera is.
     
  5. SilverStorm

    SilverStorm

    Joined:
    Aug 25, 2011
    Posts:
    711
    There
    How has your experience gone with this plugin so far?
     
  6. SilverStorm

    SilverStorm

    Joined:
    Aug 25, 2011
    Posts:
    711
    BUG Report: After switching rendering modes and making some tests from Linear, Gamma and changing Camera settings from Deferred to Forward I noticed now that disabling shadows will remove the AO effect completely in Forward rendering mode, deferred seems to be fine.

    This is the warning I get:
    OnRenderImage() possibly didn't write anything to the destination texture!

    Restarting won't fix the bug, but I was able to fix it by changing the shadows on while changing back from gamma to linear while having shadows on. Turning it off then fixed it.

    Probably a minor bug with the answer here if anyone encounter this issue.
     
  7. hippocoder

    hippocoder

    Digital Ape Moderator

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    I cannot comment. I think it's performance seems fine - your hardware is *ancient*. You are probably going to be disappointed if you're looking for faster AO for that specific hardware.
     
  8. SilverStorm

    SilverStorm

    Joined:
    Aug 25, 2011
    Posts:
    711
    My question specifically was asking if you had anything cool to show using Wisdom AO which so far seems to be a keeper I believe I have chosen to stick with this one as the quality is very good!

    Modern cards are very powerful however because of this it is very difficult to truly benchmark performance unless the impact is huge. For this reason the card I use allows me to easily notice any subtle changes and if it can run great on my card it can run very well on the rest of the worlds cards. My target is casual gamers because dedicated because unlike real gamers they won't upgrade their hardware they would rather just pass on your game. etc.
     
  9. hippocoder

    hippocoder

    Digital Ape Moderator

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    Well, the problem is you're wrong. Modern cards have very different compute characteristics and modern techniques leverage compute shaders heavily. While it might be faster for simpler techniques to use that GPU as a measurement, it falls apart when bandwidth or compute is the deciding factor. You'd have been right to do that if it was back then, and hardware got better in a linear fashion but it's got better in a really wonky fashion instead :)

    I won't reply in this thread further to respect the OP, but I think the OP's AO is perfectly fine if people are looking for alternatives.
     
  10. SilverStorm

    SilverStorm

    Joined:
    Aug 25, 2011
    Posts:
    711
    Hmm that's very interesting. So you are basically saying that there are key features which new cards possess which mine does not and that causes the whole testing to be kind of muddied water right?

    I wonder what is your average fps with vsync turned off using this and other AO tools?
     
  11. bobcao3

    bobcao3

    Joined:
    Dec 13, 2016
    Posts:
    46
    Use single multiplier, it will get it way faster
     
  12. bobcao3

    bobcao3

    Joined:
    Dec 13, 2016
    Posts:
    46
    Probably you can try with different settings of normals source and deferred injection mode. GBuffers as normal source will not be available in forward mode, and some settings work specially for forward mode. (But for performance consideration and better details I set the default to a deferred config)
     
  13. SilverStorm

    SilverStorm

    Joined:
    Aug 25, 2011
    Posts:
    711
    The picture I took and the settings are great for me however it turns out the fps loss is coming from a bug from Unity which maybe not much we can do about for now....anyway I still can't wait for any updates to this plugin it's awesome!

    *I left you a well deserved 5 stars.
     
    Last edited: Dec 4, 2017
  14. ApolloPM

    ApolloPM

    Joined:
    Mar 24, 2017
    Posts:
    12
    Hi, I noticed this asset has been updated quite recently (5.0). What has changed? Will there be discounts in the future? Thanks.
     
  15. bobcao3

    bobcao3

    Joined:
    Dec 13, 2016
    Posts:
    46
    It's in the update log. Lightbleed and PBR deferred injection mode is added for even more realistic effect, scale of scene option is added to fit different scales, and there are some optimizations. For the discount, since Unity3D changed discount policy that now they select the assets that go into discount. If Unity3D gives me a chance to have discount, I will definetly go for it, it depends on Unity asset store's decision
     
  16. Virtuactions

    Virtuactions

    Joined:
    Jun 5, 2017
    Posts:
    13
  17. Virtuactions

    Virtuactions

    Joined:
    Jun 5, 2017
    Posts:
    13
  18. Virtuactions

    Virtuactions

    Joined:
    Jun 5, 2017
    Posts:
    13
    Looks like WAO is not working when I set XRSettings.eyeTextureResolutionScale and/or XRSettings.renderViewportScale.
     
  19. bobcao3

    bobcao3

    Joined:
    Dec 13, 2016
    Posts:
    46
    There are sevearl possible problems:
    1. GBuffers as normal source can only work in deferred mode, and according to your camera settings it seems like forward + MSAA
    2. The actual resolution setup of the camera is not standard, or not compatible with other plugins.

    Can you try with nothing else that can influence the viewport? Since I'm using Unity3D's SPSR standard (that should make it compatible with both SPSR and multipass), and something could be wrong with the viewport
     
  20. Virtuactions

    Virtuactions

    Joined:
    Jun 5, 2017
    Posts:
    13
    This was for sure XRSettings.renderViewportScale.

    Here is one more error. I can't build for windows beacouse of this error:

    Shader error in 'Hidden/WisdomAOV2': in ps_3_0 uints can only be used with known-positive values, use int if possible at Assets/Wisdom/Wisdom AO/shaders/blur/Bleed.cginc(19) (on d3d9)

    Compiling Fragment program
    Platform defines: UNITY_ENABLE_REFLECTION_BUFFERS UNITY_USE_DITHER_MASK_FOR_ALPHABLENDED_SHADOWS UNITY_PBS_USE_BRDF1 UNITY_SPECCUBE_BOX_PROJECTION UNITY_SPECCUBE_BLENDING UNITY_ENABLE_DETAIL_NORMALMAP SHADER_API_DESKTOP
     
  21. bobcao3

    bobcao3

    Joined:
    Dec 13, 2016
    Posts:
    46
    Looks like colorbleed does not support D3D9 due to its encoding system. Probably you should disable this function in D3D9, and I will try to come up with another algorithm that supports this.
     
  22. ApolloPM

    ApolloPM

    Joined:
    Mar 24, 2017
    Posts:
    12
    Hi, does this asset scale with higher resolution? To explain what I mean, the other store asset "HBAO" does NOT scale with resolution, so it will have thinner or wider ambient occlusion depending on the resolution, for example at 1080p the radius of AO is wide but at 4K the AO becomes thin. This is a bad thing since the image effect will look drastically different in various resolutions.

    I tried asking the author of HBAO asset to have ambient occlusion scale with resolution but for some reason he thinks this is a bad idea. Does Wisdom AO do the same thing?
     
  23. bobcao3

    bobcao3

    Joined:
    Dec 13, 2016
    Posts:
    46
    Due to the interlacing used in HBAO, it's reasonable that it uses pixels to count distance. WisdomAO should adapt to every resolution as I tested before. It will only get smoother in higher resolution due to dithering, but it won't get thinner or wider.
     
    ApolloPM likes this.
  24. ApolloPM

    ApolloPM

    Joined:
    Mar 24, 2017
    Posts:
    12
    Ah excellent, good to hear.
     
  25. Vagabond_

    Vagabond_

    Joined:
    Aug 26, 2014
    Posts:
    1,145
  26. Maskvp

    Maskvp

    Joined:
    Jul 9, 2015
    Posts:
    14
    Is this support Unity2017.1.0f3 or higher version?
     
  27. jjejj87

    jjejj87

    Joined:
    Feb 2, 2013
    Posts:
    1,110
    Does this support HDRP? Would love to try if it does.
     
    NeatWolf likes this.
  28. SilverStorm

    SilverStorm

    Joined:
    Aug 25, 2011
    Posts:
    711
    My friends here is my latest post. I figured why my results did not look anywhere near the quality shown and I think I figured it out. The results I am posting show very accurate AO and works well on the characters too.

    New.png

    Old.png

    Warning: G Buffers Normal can produce Z fighting issues which means objects in front might be hollow depending on their shader.


    Normal Depth Texture
    seems to be the best alternative for Deferred/Forward users. Forward users must use Normal Depth Texture only and won't get normal map detail AO.

    *There is a considerable performance jump between the new and old modes but if you are using a modern video card this shouldn't be too bad.

    Remember that because of the changes to Unity you must now select a shader tier Edit>Graphics Emulation>Shader Tier 1 etc to apply your graphics settings so you can change from Deferred to Forward otherwise it won't apply the changes at all!

    Note1: Notice the drastic quality improvement over the old version!
    Note2: Notice that the new version finally respects objects that are away from walls-look at the characters closely in the new image and notice they don't affect the background AO. The old image has them casting a dark haze around their bodies which is not accurate since they are away from the wall. That's huge!

    New 2.png
    Old 2.png

    With these new settings you can see just how drastic the changes are. Previously I thought I needed to toggle between 2 versions one for up close and one for far away detail. But these new settings make this no longer the case. Just be aware the background wall is completely flat and so is the characters stomach. This AO solution is getting the details off the normal map it's crazy! Now I can finally get characters looking right in cutscenes! *normal map detail only available in Deferred mode.

    Note3: Notice how major the difference is between the characters shadow in the old one it's very wrong since he's nowhere near the wall. The result in New-2 image of him is accurate.

    Also: I have been able to find a middleground so performance is impacted minimally but many jaggies are created but this is most notable in close ups of organic objects like characters.
    It seems to be a fight between downsample and blur. While having a high downsample will make the performance impact low it will flicker a lot when the camera moves.
    So ultimately maybe I should settle with the 2 (1 toggles on at a time) version for scenery and closeups to get the best out of performance.

    Final Note: Ultimately I ended up choosing values somewhere in the middle.
     
    Last edited: Aug 11, 2018
  29. ZJP

    ZJP

    Joined:
    Jan 22, 2010
    Posts:
    2,649
    Nice result. Thanks.
     
  30. bobcao3

    bobcao3

    Joined:
    Dec 13, 2016
    Posts:
    46
    HDRP support with a new/overhauled algorithm will be there soon in 0.8.0. It will have a much greater visuals and a little bit improved efficiency. However the HDRP pipeline is still a very beta product so it may have some issues. I already started testing the HDRP version on "The Book Of The Dead" sample project and I'm trying to test that on a migrated Viking Village project now.
     
  31. aadityaFF009

    aadityaFF009

    Joined:
    Aug 30, 2018
    Posts:
    4
    Hello,
    I need to use AO in my VR project. So I wanted to ask, is this asset efficient enough to use In a VR project? Will it cause any hiccups/lag? (I'm really tight on performance)
     
  32. barry_convex

    barry_convex

    Joined:
    May 3, 2018
    Posts:
    1
    Hi,

    Any chance we might get v0.8.0 soon? I'd like to try it out with HDRP?

    Cheers
     
  33. DamirS

    DamirS

    Joined:
    Aug 28, 2013
    Posts:
    19
    Hello,
    i can say that in 2018.3.12 - Single Pass Stereo is not working anymore. Also got a script error in MiniDrawer.cs.
    Assets\Wisdom\Demo\PostProcessing\Editor\PropertyDrawers\MinDrawer.cs(6,34): error CS0104: 'MinAttribute' is an ambiguous reference between 'UnityEngine.PostProcessing.MinAttribute' and 'UnityEngine.MinAttribute'

    cheers
     
  34. Meltdown

    Meltdown

    Joined:
    Oct 13, 2010
    Posts:
    5,796
    Is anyone having good results with this on mobile?
     
    asger60 likes this.
  35. Meltdown

    Meltdown

    Joined:
    Oct 13, 2010
    Posts:
    5,796
    It's clear the author doesn't give a crap about this asset, no response to questions from 6 weeks ago.
    Don't support assets that don't support you. Simple.
     
    Subliminum likes this.
  36. mikerz1985

    mikerz1985

    Joined:
    Oct 23, 2014
    Posts:
    79
    Hi, are you planning a release any time soon? Doesn't seem to be working with single pass stereo in 2019.2
     
  37. Carpet_Head

    Carpet_Head

    Joined:
    Nov 27, 2014
    Posts:
    254
    seems pretty broken in 2019.3 too :(
     
  38. Subliminum

    Subliminum

    Joined:
    Nov 9, 2017
    Posts:
    97
    MinDrawer can be fixed by switching declarations to UnityEngine.PostProcessing.MinAttribute.

    Assets\Wisdom\Demo\PostProcessing\Editor\PropertyDrawers\MinDrawer.cs, MinAttribute is ambigious.

    Other then that the Asset is generally broken and there doesnt appear to be support :(,

    This Asset is probably dead.