Search Unity

  1. Unity 6 Preview is now available. To find out what's new, have a look at our Unity 6 Preview blog post.
    Dismiss Notice
  2. Unity is excited to announce that we will be collaborating with TheXPlace for a summer game jam from June 13 - June 19. Learn more.
    Dismiss Notice
  3. Dismiss Notice

Beautify! - Improve image quality producing incredibly crisp and vivid scenes

Discussion in 'Assets and Asset Store' started by Kronnect, May 3, 2016.

  1. RPowers

    RPowers

    Joined:
    May 14, 2015
    Posts:
    122
    Hi, I'm just wondering what antialiasing technique does Beautify 3 use? MSAA, FXAA, TAA, some custom hybrid?
     
  2. Kronnect

    Kronnect

    Joined:
    Nov 16, 2014
    Posts:
    2,912
    An custom method, optimized to be integrated in the same render pass. It blurs up to 4 pixels along the orthonormal of an edge.
     
  3. denischernitsyn

    denischernitsyn

    Joined:
    Apr 24, 2013
    Posts:
    15
    Hello. I'm using your great plugin, but I have a question. Are you planning to add a Film Grain feature? Unfortunately, right now it's missing in the list of post effects. Are there any plans about it?
     
  4. Kronnect

    Kronnect

    Joined:
    Nov 16, 2014
    Posts:
    2,912
    Which version are you using, built-in or URP?
     
  5. starfoxy

    starfoxy

    Joined:
    Apr 24, 2016
    Posts:
    191
    Is Beautify suitable to use for Meta Quest 2 in terms of performance? This may be a long shot but are the Beautify post processing effects such as bloom performant enough to be used?
     
  6. Kronnect

    Kronnect

    Joined:
    Nov 16, 2014
    Posts:
    2,912
    Yes, bloom and other effects run fine on the Quest 2. There’re some optimization tips in the asset docs which are useful as well.
     
  7. starfoxy

    starfoxy

    Joined:
    Apr 24, 2016
    Posts:
    191
    That's amazing as I know Unity native post effects cannot be used on the Quest 2. So Beautify implements bloom in a much more performant way than Unity native bloom?
     
  8. Kronnect

    Kronnect

    Joined:
    Nov 16, 2014
    Posts:
    2,912


    72 FPS on Quest 2 with bloom + vignette + base color/image enhancement filter using the first demo scene.
    Note that performance always depend on settings. Beautify let you tweak many effect options in order to achieve a good balance between performance and quality.
    We're always adding new options to get the most of the effects at the best performance on each platform.
     
  9. denischernitsyn

    denischernitsyn

    Joined:
    Apr 24, 2013
    Posts:
    15
    I use URP 12.1. Unity version 2021.3.29
     
  10. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    5,707
    Does Beautify 3 work with FSR 2 in BIRP?

    Or does Beautify's downscale option basically do what FSR does, so no point in running both?
     
  11. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    5,707
    @Kronnect - On the FSR 2 thread, they mentioned that FSR 2 is freely available for Beautify to incorporate, and it would be more efficient that way.

    Are there any plans to add FSR 2 to Beautify?
     
    Njordy likes this.
  12. Kronnect

    Kronnect

    Joined:
    Nov 16, 2014
    Posts:
    2,912
    No plans, but I'll check how feasible it's.
     
    Njordy likes this.
  13. Astfgl

    Astfgl

    Joined:
    Jan 19, 2014
    Posts:
    86
    Allow me to elaborate a little bit: FSR2 upscaling works best when it is fully integrated into the post-processing pipeline of a game. This is clearly documented in the official FSR2 integration docs. So for Beautify and FSR2 to work together, ideally Beautify would have to implement an FSR2 integration.

    Obviously there is already an FSR2 asset store package provided by Alterego Games. To be clear, what they sell is integrations, specifically for BiRP, PPV2, URP and HDRP (and they put a lot of effort into that and deserve to be paid for their asset, not trying to downplay that). However it is not Alterego's responsibility to write an integration for Beautify. At best, their integrations can work side-by-side with Beautify but that's never going to give you the best results.

    The core FSR2 technology behind Alterego's asset (essentially, a Unity port of AMD's shaders and dispatch code) was written by me and has been released as open source under a permissive MIT license. This means that anyone is free to take this tech and build an FSR2 integration of their own with it.

    I have looked at Beautify before and because it already has the concept of up/downscaling, integrating FSR2 should be fairly natural and straightforward. It just needs someone to actually do it.
     
    Njordy, hopeful and Kronnect like this.
  14. Astfgl

    Astfgl

    Joined:
    Jan 19, 2014
    Posts:
    86
    I've spent some time last week to finish up a few refactorings to the FSR2 code that I still had in the pipeline, and wrote a bunch of documentation on the GitHub wiki. In particular, I've written guidelines on what an integration needs to do and why: https://github.com/ndepoel/FSR2Unity/wiki/Notes-on-Render-Pipeline-Integration

    I hope that helps to make the decision easier whether to incorporate FSR2 into Beautify!
     
    Njordy and hopeful like this.
  15. Fariborzzn

    Fariborzzn

    Joined:
    Apr 17, 2019
    Posts:
    14
    Hey hope you are having a great day. been using Beautify over a year and its fantastic. recently test it in final build and encounter an issue where post effect doesn't apply to My Cameras . at first I thought its because of shades not including in final build but its not the case since in my first scene where there is only one camera it works fine as soon I change the scene where there is 2 different camera with UI camera rendered on top(The UI camera doesn't have post effect enable ) The post effect doesn't apply at all . How can I Solve this issue? I don't have this issue in editor at all.
     
  16. Kronnect

    Kronnect

    Joined:
    Nov 16, 2014
    Posts:
    2,912
    hello!
    Are you using URP? In that case make sure you have Beautify Render Feature added to all URP assets in your project that need it (there can be different URP assets per quality level in Project Settings / Quality).
    Also, you can try calling BeautifySettings.UnloadBeautity() when the new scene loads if some script uses Beautity.
     
  17. BAEL_user01

    BAEL_user01

    Joined:
    Mar 31, 2023
    Posts:
    1
    Hello,
    I am currently using Beautify 3 for URP. When I open the project on a Mac, the bloom becomes much too strong. The settings are the same in the two images. (Tolerance = 1 Strength = .5)

    Is there a way to fix this? It seems to be affecting the iphone builds the same way.
     

    Attached Files:

  18. Kronnect

    Kronnect

    Joined:
    Nov 16, 2014
    Posts:
    2,912
    Tolerance and Strength? Can you show a screenshot of your settings?
     
  19. Fariborzzn

    Fariborzzn

    Joined:
    Apr 17, 2019
    Posts:
    14
    Yes I'm using URP. Yes beautify is added as render Feature to my asset (There is only 1 in my project) . I added beautify core Shader to always include and preload it but still it doesn't help at all.
    Let me add more detail :
    I have a main scene and some subscene that can be loaded. in my Main scene beautify works and all Shaders rendered properly but if I load new scene Beautify wont work as expected . Note : If I Only Build my new scene and play the game beautify works as intended and all Shaders are included.
    is these issue related to mine? issue-Link and Issue-Link
     
    Last edited: Dec 4, 2023
  20. Kronnect

    Kronnect

    Joined:
    Nov 16, 2014
    Posts:
    2,912
    Not sure, but just to discard any caching issue of the profile, add this call to a Start() of a script:
    BeautifySettings.UnloadBeautify();
     
  21. starfoxy

    starfoxy

    Joined:
    Apr 24, 2016
    Posts:
    191
    Loving the Beautify experience! I was wondering - how is performance with using the Kronnect LUT pack for Beautify and using it with Quest 2?
     
  22. Kronnect

    Kronnect

    Joined:
    Nov 16, 2014
    Posts:
    2,912
    Thank you.
    The LUT operator is usually cheap since, although it involves two additional texture fetches, the LUT textures themselves are very small. However, you will have to test and see how it goes.
    Regards.
     
  23. Njordy

    Njordy

    Joined:
    Mar 31, 2019
    Posts:
    24
    Is this the same case for DLSS asset?
     
  24. Astfgl

    Astfgl

    Joined:
    Jan 19, 2014
    Posts:
    86
    Not quite the same, as the DLSS asset is a commercial product and its license agreement likely prevents you from just taking its source and integrating it into another asset. However, from what I understand the DLSS asset is based off of the HDRP implementation from Unity, which is openly available on the Unity Graphics Github. You could probably base a Beautify DLSS integration off of that instead.
     
    hopeful and Njordy like this.
  25. WildStyle69

    WildStyle69

    Joined:
    Jul 20, 2016
    Posts:
    319
    Hi @Kronnect - great assets, thanks!

    I'm wondering about turning features on/off with the newer version of Beautify 3 for URP. For example to toggle the Final Blur intensity value. At the moment am just setting the float value, however would like to make sure there is no overhead and turning features off, if that would save some processing.

    // Wildstyle
     
    Kronnect likes this.
  26. Kronnect

    Kronnect

    Joined:
    Nov 16, 2014
    Posts:
    2,912
    Yes, default value for most effects is "0" which the asset interprets as disabled so no extra overhead. Make sure you are overriding the value, not just setting it (using the Override method or setting the overrideState to true). Here're some useful resources to change values in runtime:
    https://kronnect.com/scripting-tips-for-for-our-post-processing-effects-in-urp/
    https://kronnect.com/guides/beautify-urp-scripting-support-c/
     
    WildStyle69 likes this.
  27. sacb0y

    sacb0y

    Joined:
    May 9, 2016
    Posts:
    994
    Is there a timeline for render graph support?
     
  28. Kronnect

    Kronnect

    Joined:
    Nov 16, 2014
    Posts:
    2,912
    We have no ETA yet as RG is still in beta. We have been working on this support for a few months and reported some fundamental RG related bugs that are still pending of resolution by Unity.

    Note: projects upgraded to 2023.3 beta will have the Compatibility Mode checkbox enabled by default in Project Settings. This option ensures render features keep working on that version of Unity.
     
    Last edited: Feb 19, 2024
  29. Kronnect

    Kronnect

    Joined:
    Nov 16, 2014
    Posts:
    2,912
  30. PetrSeifert

    PetrSeifert

    Joined:
    Jun 1, 2021
    Posts:
    4
    Hey, Is it possible to exclude some objects from outline effect?
     
  31. Kronnect

    Kronnect

    Joined:
    Nov 16, 2014
    Posts:
    2,912
    Not currently.
    Alternatives imply using a second camera to render those excluded objects or rendering them after Beautify has rendered (changing the injection event of Beautify Render Feature for example, assuming they're transparent).
    Ultimately it could be achieved using some mask prepass. Are they regular opaque objects, sprites or UI?
     
  32. PetrSeifert

    PetrSeifert

    Joined:
    Jun 1, 2021
    Posts:
    4
    They are regular opaque objects. Using the mask prepass sounds good.
     
  33. PetrSeifert

    PetrSeifert

    Joined:
    Jun 1, 2021
    Posts:
    4
    And would it be possible to have different outline color for different objects?
     
  34. Kronnect

    Kronnect

    Joined:
    Nov 16, 2014
    Posts:
    2,912
    Have you considered using Highlight Plus? It offers more customization options for individual objects.
     
  35. Kronnect

    Kronnect

    Joined:
    Nov 16, 2014
    Posts:
    2,912
    Latest beta allows adding outline over specific objects by using a new layer mask option.
     
  36. Zilk

    Zilk

    Joined:
    May 10, 2014
    Posts:
    333
    Is there anyway the outline pass could have a LayerMask feature to ignore outline on certain layers?

    We have a opaque pass for transparency discarded vegetation for example that would really look better without outlines but there is no way to ignore them from the outline pass right now.
     
  37. Kronnect

    Kronnect

    Joined:
    Nov 16, 2014
    Posts:
    2,912
    Which version are you using? In URP, there's actually a Layer Mask option which let you specify which objects can receive the outline.
     
  38. Zilk

    Zilk

    Joined:
    May 10, 2014
    Posts:
    333
    BRILLIANT! I was on an old version and hadn't realized it was added in the latest one. Amazing as always, thanks!
     
  39. Zilk

    Zilk

    Joined:
    May 10, 2014
    Posts:
    333
    One thing I noticed, when I enable layermasking the transparent objects with alpha clip get their outline around the planes they are mapped on and not around the edge of the discarded pixels. I have some transparent objects that I want outlines on and some I don't.
     
  40. Kronnect

    Kronnect

    Joined:
    Nov 16, 2014
    Posts:
    2,912
    Get latest beta (you need to sign up) and you'll find a new Cut Off setting:

    upload_2024-4-2_13-50-14.png

    UPDATE: now available on the Asset Store.
     
    Last edited: Apr 2, 2024
    Zilk likes this.
  41. Zilk

    Zilk

    Joined:
    May 10, 2014
    Posts:
    333
    Tried the new version with cut-off and it works for transparent objects using cut off but works very odd for opaque since I am using the A channel in the albedo texture for emission and not alpha. Is there any way around this? Otherwise I'll rethink the emission in A channel for something else.
    Does it assume to use the _MainTex.A for cut-off?

    Also it doesn't account for vertex offsets which it does when not using layermask?

    Adding layermask opened a whole new can of worms :D

    upload_2024-4-2_18-13-31.png
     
    Last edited: Apr 2, 2024
  42. Kronnect

    Kronnect

    Joined:
    Nov 16, 2014
    Posts:
    2,912
    Alpha testing can use alpha channel only.
     
    Zilk likes this.
  43. rubeng

    rubeng

    Joined:
    Apr 20, 2013
    Posts:
    60
    Hi, is there any way to disable Beautify in the scene view?
    Similar to what is possible with unity's post processing

    upload_2024-4-4_10-52-55.png

    Thanks
     
  44. Kronnect

    Kronnect

    Joined:
    Nov 16, 2014
    Posts:
    2,912
    Yes. In the URP version, you can unselect the "Ignore Post Processing Option" in the Beautify Render Feature. Then, you can toggle on/off that same selector in Scene View to enable/disable post-processing.
     
  45. Amo-deus

    Amo-deus

    Joined:
    Jul 27, 2015
    Posts:
    25
    I'm having a very strange issue after upgrading from beautify 2 to beautify 3. When I enable beautify in builtin pipeline, almost everything in my scene disapears when entering playmode . The frame rate drops significantly. Some transparent objects and emissive objects are still visable. When I try to downgrade back to beautify 2 it still happens even though it did not happen before.

    In Urp Beautify is active in editor but has no effect in playmode, nothing disapears though..
     

    Attached Files:

    • On.png
      On.png
      File size:
      799.1 KB
      Views:
      16
    • Off.png
      Off.png
      File size:
      1.2 MB
      Views:
      17
    Last edited: Apr 14, 2024
  46. Kronnect

    Kronnect

    Joined:
    Nov 16, 2014
    Posts:
    2,912
    In URP, do you mean in a build? Make sure you have the Beautify Render Feature added to the correct URP assets (check them in each quality setting in Project Settings / Quality). More details here.

    The issue in the built-in pipeline might be related to super sampling or perhaps other camera effects but shouldn't happen.
     
  47. Amo-deus

    Amo-deus

    Joined:
    Jul 27, 2015
    Posts:
    25
    Not in a build just in playmode, it shows up in the editor. As soon as I hit play, beautify no longer works.I havent tested a build yet. I have the beautify render feature assigned to all quality settings.
    I deleted my library folder for Urp that seemed to work. Indeed the problem is super sampling for the builtin pipeline, when I turn it back to 1 everything re-appears, but now I cant use it?
     
  48. Kronnect

    Kronnect

    Joined:
    Nov 16, 2014
    Posts:
    2,912
    It should work with latest LTS versions of Unity 2020, 2021, 2022 and latest 2023 and Unity 6 beta (tested). Which Unity version/platform (Win/Mac/Linux) are you using?
     
  49. Amo-deus

    Amo-deus

    Joined:
    Jul 27, 2015
    Posts:
    25
    2022.3 Windows.
     
  50. Kronnect

    Kronnect

    Joined:
    Nov 16, 2014
    Posts:
    2,912
    I don't see any issue with supersampling on 2022.3.24 on Windows. Can you please check with this version in an empty project? (also make sure you're using latest Beautify 3 from Package Manager).