Search Unity

[RELEASED] MadGoat SSAA and Resolution Scale

Discussion in 'Assets and Asset Store' started by Raul_T, Mar 25, 2017.

  1. Raul_T

    Raul_T

    Joined:
    Jan 10, 2015
    Posts:
    363


    MadGoat Supersampling brings one of the best anti-aliasing techniques to your Unity3D project: be it a game, a VR application or an archviz presentation, now you can achieve stunning image quality with just one click!

    SSAA & Resolution Scale v2 is now live on asset store!

    Asset Store Link:
    http://u3d.as/MBg


    Documentation:
    https://drive.google.com/open?id=1lhcYJwkueuVuHZnYdQVg2EqUb980VlH80_J9mvOwuPw

    What is SSAA?
    SSAA, short from super sampling anti-aliasing (not to be confused with screen space anti-aliasing) is one of the highest quality antialiasing methods, since it works by rendering the whole image at a higher resolution and down sampling it to the screen resolution.

    Then why don’t you see it in many games?
    SSAA works by directly changing the internal render resolution of your game, therefore the higher the setting is, the higher the performance hit is. Because of that, it uses more resources and needs more processing power than other anti-aliasing options, but also looks better. This AA solution is great for high end GPUs where there is performance headroom left, and also for high resolution, sharp screenshots


    Why our asset?

    MadGoat Super Sampling is the most affordable, complete and stable SSAA system on the Unity3D Market. With the help of our asset, in very easy steps, you will enhance the image quality of all your projects. The following features will help you understand why our asset is the best and most complete SSAA solution on the Unity3D market:
    • Affordable: As indie developers ourselves, we know how hard it is to fund the development of a game, especially when you invest your own money. We believe in affordable assets that do the job right.
    • The best AA solution for VR: Achieve never seen before image quality in VR projects with MadGoat SSAA. Supports all the popular VR devices in both single and multi pass rendering.
    • High Compatibility: Compatible with Unity 5.5, 5.6 and 2017 (Also compatible with older versions but not officially tested), compatible with all the major graphics APIs such as Vulkan, DX9-12 and OpenGL.
    • Easy to setup: Just drag and drop the script on your cameras, it’s that easy!
    • Multiple uses: Our SSAA system also works perfectly in offscreen rendering and arch-viz applications
    • Resolution scale mode: Ability to scale the resolution by percent, such as seen in the settings menus of many AAA titles. This helps users to change render resolution without affecting the UI/HUD
    • Adaptive mode: Ability to automatically adjust the resolution, based on a target frame rate.
    • 3 Image filtering modes: Nearest Neighbor, Bilinear and Bicubic
    • Full source available: You feel like changing something in order for it to fit your needs? Make it yours!
    • High-Res Screenshots: Take screenshots at higher resolution than your screen (also with super sampling)
    • Doesn't affect image effects
    • Reduces flickering and other image artifacts (such as those created by depth of field blur or highly specular objects)

    Screenshots:



     
    Last edited: May 12, 2020
    UnityLighting, AlanMattano and SAOTA like this.
  2. QuantumTheory

    QuantumTheory

    Joined:
    Jan 19, 2012
    Posts:
    1,081
    More SSAA solutions is welcome. Obvious benefits to VR, which begs the question, "WIll it support Vive and Rift?"

    Thanks!
     
  3. Raul_T

    Raul_T

    Joined:
    Jan 10, 2015
    Posts:
    363
    Hello and thank you for the support.
    As for the VR support, I'm not sure yet how it copes with Occulus/Vive as I don't have access to them nor do I know anyone that does. If I remember correctly I tried it with the default unity stereo display mode and it ran fine, but I'm not sure how it does on a real headset. This is definitely something that I'm looking into for the next update.
     
  4. QuantumTheory

    QuantumTheory

    Joined:
    Jan 19, 2012
    Posts:
    1,081
    I've a Rift CV1 and certainly don't mind testing for you.
     
  5. Raul_T

    Raul_T

    Joined:
    Jan 10, 2015
    Posts:
    363
    Sure. I can send you a key as soon as the asset gets published.
    Also I've found out that my downsampler filter shaders are not VR ready (re-tested it now, it seems that I only tested with filtering off last time.)
    I will fix it for the next version
     
  6. QuantumTheory

    QuantumTheory

    Joined:
    Jan 19, 2012
    Posts:
    1,081
    Thanks @MadGoat ! Typically if you give the store team an email, they will speed up approval a little bit.
     
  7. AlanMattano

    AlanMattano

    Joined:
    Aug 22, 2013
    Posts:
    1,501
    Nice and good! Rendering path? Works in forwarding .. deferred ? Looks like there is no info about. If you wish I can test the asset in VR HMD Oculus Rift .
     
  8. Raul_T

    Raul_T

    Joined:
    Jan 10, 2015
    Posts:
    363
    The asset has been approved by the asset store staff and is now released: http://u3d.as/MBg

    It does supports both forward and deferred rendering paths. It also supports all the major graphic APIs (tested with DX9,DX11,DX12, Vulkan and openGL.)

    As for the VR support, I'm still working on it, it will probably be there in the next update.
     
  9. AlanMattano

    AlanMattano

    Joined:
    Aug 22, 2013
    Posts:
    1,501
    A suggestion: In the next update on the asset store explanation "What is SSAA", add "supports both forward and deferred rendering paths." can help, since in VR Deferred is missing this feature.
     
    Raul_T likes this.
  10. FPires

    FPires

    Joined:
    Jan 5, 2012
    Posts:
    151
    Is there any way to make the downscaling happen before the official post-process stacking effect?
    So that the ditherer doesn't get downscaled and distorted together.
     
  11. Raul_T

    Raul_T

    Joined:
    Jan 10, 2015
    Posts:
    363
    Unfortunately, this is not supported yet.

    However, you can "manually" put the post-process stack on the internal camera. To do so you have to comment this line (line 48 if nothing else was changed) in the ssaa code:
    Code (CSharp):
    1. RenderCameraObject.hideFlags = HideFlags.HideInHierarchy | HideFlags.HideInInspector;
    The internal camera should appear in the hierarchy now, as child to your camera. But the problem that still remains is that this camera only exist at runtime. As a workaround you can write a script that adds at start the postprocessing stack to that camera with a profile that only has dithering enabled.
     
    FPires likes this.
  12. Raul_T

    Raul_T

    Joined:
    Jan 10, 2015
    Posts:
    363
    I am happy to announce that version 1.1 update has been released :)

    Changelog:
    • Fixed terrain being missing in demo scene
    • Fixed screenshot stretching when screenshot aspect ratio was different from screen aspect ratio
    • Fixed viewport resizing causing to break the image aspect ratio
    • Added own API function of ScreenPointToRay to fix raycasting offsetting at image resolutions different than screen resolution
    • Added OnClick() compatibility mode (at cost of lower overall performance)
    • Minor changes to the Editor UI
     
    Last edited: May 16, 2017
    Inspeinre likes this.
  13. DCUNITY2

    DCUNITY2

    Joined:
    May 24, 2017
    Posts:
    3
    The SSAA effect is killing the bloom in the post processing stack. I'm having to ramp up the intensity which isn't ideal, is there a fix for this?

    EDIT: It also kills the AO in the stack too.
     
    Last edited: May 25, 2017
  14. Raul_T

    Raul_T

    Joined:
    Jan 10, 2015
    Posts:
    363
    Hello, from my testings it seems to be related to how the the post processing stack handles effects at high resolution rather than the SSAA system. I've noticed a change in effect looks when changing SSAA setting too, but the changes also occur when changing the screen resolution to a higher one, like 4K without having the SSAA component on the camera. Can you please tell me which unity version you are using and your Bloom and AO settings?
     
  15. DCUNITY2

    DCUNITY2

    Joined:
    May 24, 2017
    Posts:
    3
    Hi,

    Thanks for getting back to me.

    I'm using 5.6.0f3.

    Bloom settings:
    Intensity: 0.03
    Threshold: 1.08
    Soft Knee: 0.554
    Radius: 4
    These settings produce desirable results in game view, as well as in previous projects. I can ramp up the Intensity but that blows out the whole scene.

    AO isn't as important as I'm using SSAO pro which seems to not be affected, however the settings are:
    Intensity: 0.96
    Radius: 0.33

    Thanks!
     
  16. Freznosis

    Freznosis

    Joined:
    Jul 16, 2014
    Posts:
    298
    Is this asset able to do downsampling also? Like in the current Battlefield games you are able to leverage running the game at 70% of your resolution to have better performance (of course it looks worse but people running settings that low wouldn't care at that point lol), would have a cool double usage. :)
     
  17. Raul_T

    Raul_T

    Joined:
    Jan 10, 2015
    Posts:
    363
    Yes, that's half the point of it. When I first designed it for our project I had in mind the resolution scale slider from Battlefield 4. Then it grew into what it is now.


    Of course, that setting can also be changed from code (so it can be implemented in the game's settings UI)
     
    orrinjones and hopeful like this.
  18. Freznosis

    Freznosis

    Joined:
    Jul 16, 2014
    Posts:
    298
    Wow I wasn't expecting that! I'll be picking this up, great job. :)
     
  19. DCUNITY2

    DCUNITY2

    Joined:
    May 24, 2017
    Posts:
    3
    Hi, has there been any update on this? If it's nothing to do with SSAA but with general upscaling do you have any recommendations on how this can be resolved?
     
  20. FPires

    FPires

    Joined:
    Jan 5, 2012
    Posts:
    151
    Speaking of cameras - how do I apply this effect if I'm running multiple cameras?
    Namely, I have a camera rendering a background layer, and the main camera at a higher depth rendering the foreground with a "Don't clear" flag. Since the background layer is blurred, I don't need to render it a high resolution. When I combine cameras in this manner with MadGoat the backgrounds pretty much becomes white.
     
  21. Raul_T

    Raul_T

    Joined:
    Jan 10, 2015
    Posts:
    363
    Hello, I haven't figured out why it behaves like that yet. I will have to take a look into how the unity postprocessing stack works and see if I can come up with anything.

    Sorry, this is an issue that i'm still trying to fix. It's because the image is passed through an render texture to the screen and the "transparency" of the don't clear camera gets lost in the process. I hope to find a solution for this ASAP since it's something that I also need in our game project.
     
    dithyrambs and FPires like this.
  22. ElliottMallard

    ElliottMallard

    Joined:
    Jul 2, 2015
    Posts:
    18
    This is exactly what is happening to us - we've decided not to use this plugin until there is a fix in place. Is there any update on this MadGoat?
     
  23. Raul_T

    Raul_T

    Joined:
    Jan 10, 2015
    Posts:
    363
    Little feature sneak peek from the next update:
     
    SrBilyon and hopeful like this.
  24. ElliottMallard

    ElliottMallard

    Joined:
    Jul 2, 2015
    Posts:
    18
    Will this next update fully support Unity's Post-processing stack?
     
  25. Raul_T

    Raul_T

    Joined:
    Jan 10, 2015
    Posts:
    363
    Yes. The Post Processing Stack issue was fixed for the next update. The update will hopefully be published on asset store next week if everything goes well with the integration of the new features I'm currently working on.
     
  26. HittmanA

    HittmanA

    Joined:
    Jul 27, 2016
    Posts:
    45
    Hello, I was just wondering if this asset supports HDR. Thanks in advance!
     
  27. Raul_T

    Raul_T

    Joined:
    Jan 10, 2015
    Posts:
    363
    Hello, HDR is supported in the next update. If needed urgently it can also be added with 1 line of code change in current version as pointed out by an user in a review on asset store.
     
  28. Raul_T

    Raul_T

    Joined:
    Jan 10, 2015
    Posts:
    363
    Version 1.2 has just been released to the Asset Store :)

    Changelog
    - Fixed Screenshot Settings not saving when deselecting game object
    - Fixed HDR support
    - Fixed bug causing incompatibility with Post-Processing Stack
    - Better implementation of screenshot code.
    - Added "Ultra Quality (FSSAA)" mode to super sampling
    - Added functionality to render supersampled panoramas (alpha)
    - Added Adaptive Resolution Mode
    - Added global functions to control parameters of all the MadGoatSSAA instances in scene.
    - Added support for rendering to target render texture
     
    hopeful likes this.
  29. local306

    local306

    Joined:
    Feb 28, 2016
    Posts:
    155
    Any word on how well this performs with VR?
     
    LostPanda and NeatWolf like this.
  30. blackbird

    blackbird

    Joined:
    Aug 9, 2011
    Posts:
    592
    any chance to make the latest update work in unity 5.4 because i need it for consoles (ps: wanted to buy it but saw it's require 5.5)
     
  31. Raul_T

    Raul_T

    Joined:
    Jan 10, 2015
    Posts:
    363
    Hello, it should work on versions lower than 5.5 too. It's just that I didn't submitted it to the asset store with earlier versions because I didn't had them installed. I can test it myself on 5.4 later today if you want to.

    Edit: Tested on 5.4.0f3, the SSAA system itself works as it should :) . It's just the demo scene that doesn't load correctly (I guess due to some changes made by unity between 5.4 and 5.5)
     
    Last edited: Jul 8, 2017
    blackbird likes this.
  32. PerunCreative

    PerunCreative

    Joined:
    Nov 2, 2015
    Posts:
    113
    Hi,

    I've issues with SSAA when used with post processing stack. It seams to be working in editor, but in the build I am getting various artifacts like this:

    problem.png

    I am using 5.6.1p3 and SSAA 1.2. Any ideas?
     
  33. Raul_T

    Raul_T

    Joined:
    Jan 10, 2015
    Posts:
    363
    Hello, can you please provide your post processing stack settings?
     
  34. PerunCreative

    PerunCreative

    Joined:
    Nov 2, 2015
    Posts:
    113
    I am sending you the settings in the attachment. It contains also screenshot from camera settings. I am using adaptive resolution with Bilinear filter. After some more testing there is no problem in the editor, it works as it should, but the issue is really in the build only. I think that it is caused by the SSR in the Post Processing Stack.
     

    Attached Files:

  35. Raul_T

    Raul_T

    Joined:
    Jan 10, 2015
    Posts:
    363
    I used your post processing settings file and couldn't reproduce the issue in build exe, using 5.6.1f1 (can't find 5.6.1p3 for download anymore) Have you tested with only the SSAA and post processing stack enabled on the camera to make sure its not another effect conflicting with the two?

    Also, what platform, architecture and graphics API are you targeting? This information would be useful in further debugging.
     
  36. PerunCreative

    PerunCreative

    Joined:
    Nov 2, 2015
    Posts:
    113
    I tried to disable other image effects and it does only when the PP stack is enabled. I upgraded to the latest unity version 5.6.2p2 (it can be found here https://unity3d.com/unity/qa/patch-releases) and to the latest post processing commit on github, but the result is the same. I am running on windows 10 and running on DX11. I am experiencing this bug on amd rx 460. I will try to test it on different computer with nvidia gpu.
     
  37. Albertkaruna

    Albertkaruna

    Joined:
    Apr 12, 2015
    Posts:
    9
    This is cool... Is this support WebGL?

    Thank you!
     
  38. Raul_T

    Raul_T

    Joined:
    Jan 10, 2015
    Posts:
    363
    Alright. Please let me know if it does the same on nvidia. I also tested on AMD hardware (r9 390x) but I couldn't reproduce it. I will try on a more complex scene from our game (tested on ssaa demo scene before).
    P.S.: thanks for the patch releases page link. I didn't know about it :)

    Yes it does support WebGL. I haven't personally tested the system on WebGL, but there is an user who released a webGL game using our SSAA system. You can check it in asset store reviews if you want.
     
    Albertkaruna likes this.
  39. Freznosis

    Freznosis

    Joined:
    Jul 16, 2014
    Posts:
    298
    Ended up picking this up about a week ago and finally got around to integrating it. Everything is working as it should!

    And the screenshot function is very handy also :)

     
  40. RPowers

    RPowers

    Joined:
    May 14, 2015
    Posts:
    122
    Hi. I'm looking to pair this SSAA with Unity's MSAA in forward rendering for my vr game. Does this work with vr yet?

    Also, is SSAA different from render scale? In unity there's a VR.RenderScale setting that changes visual quality dramatically. For a vr application is it better to increase render scale or add SSAA?
     
    Last edited: Jul 14, 2017
  41. Raul_T

    Raul_T

    Joined:
    Jan 10, 2015
    Posts:
    363
    VR support is currently in development. The concept behind the VR.RenderScale is similar to the one behind SSAA. the difference is that SSAA also uses more complex image filtering approaches when resizing the image back to the screen size, which may result in even better image quality.
     
    NeatWolf likes this.
  42. Freznosis

    Freznosis

    Joined:
    Jul 16, 2014
    Posts:
    298
    I had a problem with the screenshot function. The multiplier doesn't actually do anything. Not a big problem as I am just passing my own multiplier before using the TakeScreenshot function, but just thought I'd let you know. :)
     
    Raul_T likes this.
  43. NeatWolf

    NeatWolf

    Joined:
    Sep 27, 2013
    Posts:
    924
    I'm looking forward SSAA in VR as well (is it going to be in single pass or multi pass), with both Oculus and Vive :)
    I still haven't found my ideal AA solution for VR, so I'm crossing my fingers on MG's SSAA - TSAA and MSAA8x are still a chimera depending on the situation. There's also an upscaler in Steam but, well, I prefer to leave it to the player's control :)

    Do you have any eta?
     
  44. silentneedle

    silentneedle

    Joined:
    Mar 14, 2013
    Posts:
    280
    The "rotate" example class conflicts with the VertexTools Pro demo.
     
  45. Raul_T

    Raul_T

    Joined:
    Jan 10, 2015
    Posts:
    363
    Thanks for letting me know.
     
  46. ArchVizPRO

    ArchVizPRO

    Joined:
    Apr 27, 2014
    Posts:
    457
    Hello
    When SSAA is enabled, I can't click on collider.
    I see there is an option in MISC, but doesn't work.... still can't click on colliders.
    Any idea how to solve this ?
     
  47. Raul_T

    Raul_T

    Joined:
    Jan 10, 2015
    Posts:
    363
    Hello, how do you handle object clicking in code?
     
  48. ArchVizPRO

    ArchVizPRO

    Joined:
    Apr 27, 2014
    Posts:
    457
    Hello
    I try 2 ways:
    FIRST:
    function OnMouseOver(){
    if(Input.GetMouseDown(0){
    // Whatever you want it to do.
    }
    }
    SECOND:
    function Update(){
    var ray = Camera.main.ScreenPointToRay(Input.mousePosition);
    var hit : RaycastHit;
    if(Physics.Raycast(ray,hit)){
    if(hit.collider.tag == "clickableCube"{
    // Whatever you want it to do.
    }
    }
    }
    They worked OK with SSAA off, but no luck when it is active.
     
  49. Raul_T

    Raul_T

    Joined:
    Jan 10, 2015
    Posts:
    363
    The first way does indeed rise some trouble with our SSAA system, but the second should work with a bit of tweaking.

    Have you tried using the wrappers included in the SSAA API for raycasting? They are shown in the documentation, even with an usage example that seems to match your usage scenario.


    Please let me know if you get it working. If that doesn't work I will have to investigate as it might be a bug.
     
  50. ArchVizPRO

    ArchVizPRO

    Joined:
    Apr 27, 2014
    Posts:
    457
    Thank you for the info, I missed it!
    I will try and let you know asap.
    Regards