Search Unity

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 having an issue getting Beautify 2 to work with multiple cameras. I'm in VR, URP, single pass instanced, Unity 2020.3.6f1. I have my camera for VR HMD and another camera with Target Display = Display 1, and Target Eye = None to show on monitor only. My VR camera displays Beautify effects just fine, however, my second camera to show just on monitor (Display 1) doesn't show the Beautify effects correctly and just shows a white film over everything. Any idea why this second camera won't show the effects in the same way? I've tried making 2 separate post processing volumes and assigned each camera to each volume by using different layers, no luck. I get the same white film effect on non-VR camera only. Very strange. I also tried removing Beautify completely, create my own post-processing volumes, with same 2 camera setup and what I'm after works just fine. My VR camera shows the post-processing correctly and so does my monitor camera, so I'd expect Beautify to behave the same way.
     

    Attached Files:

  2. Kronnect

    Kronnect

    Joined:
    Nov 16, 2014
    Posts:
    2,906
    Hi!
    Are you using the latest version? Make sure you don't have a new upgrade available in the Package Manager.
     
  3. starfoxy

    starfoxy

    Joined:
    Apr 24, 2016
    Posts:
    184
    Hi all, I am really loving Beautify 2! However, I have some textmesh pro 3d objects and they look blurry, not crisp. Any ideas why?
     
  4. Kronnect

    Kronnect

    Joined:
    Nov 16, 2014
    Posts:
    2,906
    Hi,
    Canvas in screen space overlay mode renders after image effects. Switch it to screen space camera mode instead and it will be affected by Beautify.
    Regards
     
  5. starfoxy

    starfoxy

    Joined:
    Apr 24, 2016
    Posts:
    184
    Thank you but I am not using the canvas. I am using a textmesh pro 3D object. Any ideas how I can keep it crisp?
     
  6. AlexHell

    AlexHell

    Joined:
    Oct 2, 2014
    Posts:
    167
    Hello! Sorry if my text looks provocative, but I only need to understand. What is the main use case of this shader? I see the A vs B differences on screenshots and videos, but not recognize what specificly is better with shader \ vs without, subjectively. By which property any end-users (gamers) whould detect if it's make better with \ vs without shader ? Does it based on any psychological theory? Or it's simple opinion "if it's sharper then it's better"?
    If the main use case is for post-anti-aliasing (FXAA) or post any bloor - then may be better to not use bloor and to use SMAA \ SSAA instead?

    p.s. example screenshots from this thread
    added glowing (candles, window) - is it better? it's unnatural imho
    http://i.imgur.com/fWJnJqY.png
     
    Last edited: Aug 21, 2021
  7. Kronnect

    Kronnect

    Joined:
    Nov 16, 2014
    Posts:
    2,906
    An image that looks higher resolution is usually a better image. Beautify core image enhancement filter makes your image crisper at the same screen resolution and also more vibrant which usually looks better (check the asset reviews). That's why screens grow and users want higher resolutions, because more fidelity or details contribute to make the experience more immersive (although this is all subjetive and dependant on your game visual style). The filters of Beautify make texture features pop where most of the time they would be blurred by bilinear filtering or lack of resolution.

    Some sample pictures may be exaggerated to show the effect but Beautify let you modulate each effect as you wish with less or more intensity.

    Please note that Beautify includes +20 effects which are combined in a final pass, including also color grading and fx (like daltonize and hard light), lens effects and others. All effects come with many options so you can customize them in many ways to match your game visual style and/or provide options to the end users so they can customize the look of your game as well.
     
    Last edited: Aug 22, 2021
  8. chaobaji

    chaobaji

    Joined:
    Oct 14, 2020
    Posts:
    9
    Hello,I'm using Beautify 2 in my project, It's runs well in Mac Build.But when I build a iOS ipa, It's makes the memory usage from 700M to 1.8G,it reaches the iPhone limit and crashed, I use 2~5 effect controlled by scripts,How can I optimize this. Thanks.
     

    Attached Files:

  9. Kronnect

    Kronnect

    Joined:
    Nov 16, 2014
    Posts:
    2,906
    Hi,
    Did you remove the demo scenes included with Beautify?
    Regards
     
    Last edited: Sep 8, 2021
  10. chaobaji

    chaobaji

    Joined:
    Oct 14, 2020
    Posts:
    9
    Not the demo scene,It's my own Scene, I use unity 2019.4.17 with URP. I found if I delete some #pragma multi_compile_local, It's decrease the memory usage, It may be too many shader variants include,but I not sure which #pragma should I delete.
     
  11. Kronnect

    Kronnect

    Joined:
    Nov 16, 2014
    Posts:
    2,906
    Check pages 12-13 in this updated document: https://www.dropbox.com/s/pflus913xz81al6/QuickStartGuide.pdf?dl=0
    You will find hints to reduce shader variants and optimize the build size.
     
  12. chaobaji

    chaobaji

    Joined:
    Oct 14, 2020
    Posts:
    9
  13. Kronnect

    Kronnect

    Joined:
    Nov 16, 2014
    Posts:
    2,906
    Hi everyone,

    We have recently released a pack of LUTs with a 50% discount for Beautify users. This package contains +200 LUTs which are easily tested with the LUT browser included in latest versions of Beautify :)

     
    XyrisKenn and nico_st_29 like this.
  14. XyrisKenn

    XyrisKenn

    Joined:
    Dec 8, 2015
    Posts:
    92
    Greetings, I'm integrating Agora video chat and they have a custom VideoSurface script. When attached to a quad on a layer excluded from Beautify's Bloom, the Surface ignores the culling layer.
    I'm inquiring with Agora to see if there is an adjustment that can be made.
    The file of course is VideoSurface.cs in the Agora Unity SDK.
    https://cdn.discordapp.com/attachme...590408224798/Bloom_Quads_and_Videosurface.jpg
     
  15. Kronnect

    Kronnect

    Joined:
    Nov 16, 2014
    Posts:
    2,906
    Hi, I have not been able to reproduce this with both versions (built-in and URP). In the built-in version, make sure the Layer Mask doesn't include "Default" layer. Other than that, feel free to send me a repro by email.
    Cheers
     
    XyrisKenn likes this.
  16. G_Trex

    G_Trex

    Joined:
    Apr 20, 2013
    Posts:
    98
    Just to clarify, is Beautify recommended as a replacement for unity's built in post processing, or does it work better alongside it?

    Been using it for years and just realised I don't truly know (been using it alongside).
     
  17. Kronnect

    Kronnect

    Joined:
    Nov 16, 2014
    Posts:
    2,906
    You can use it alongside it if there’s some feature or effect you need, like SSAO, but other than that, you will get more options and flexibility with Beautify. Other effects are genuine in Beautify. For SSAO, I recommend HBAO for similar reasons: more options, more flexibility and better support.
     
    G_Trex likes this.
  18. VirtualDestructor

    VirtualDestructor

    Joined:
    May 3, 2014
    Posts:
    44
    I'm getting a crash (on application startup) using the most recent version of Beautify 2 with URP on the Oculus Quest 2. It looks like it's a memory issue. In the Android log it says "lowmemorykiller" is killing my application. If I disable Beautify it works fine. Using Unity 2021.2.18. URP 12.1.6. Most recent version of Beautify 12.6. Also using the HighlightPlus package.
     
  19. Kronnect

    Kronnect

    Joined:
    Nov 16, 2014
    Posts:
    2,906
    Hi,

    Make sure you have the build optimizations enabled on top of Beautify inspector so only required shader variants are included in the build. To make sure it's as small as possible, check page 12 of documentation as it contains important tips on reducing the build size.
     
  20. VirtualDestructor

    VirtualDestructor

    Joined:
    May 3, 2014
    Posts:
    44
    Thanks for the quick reply! That resolved the crash. I guess there were too many shader variants. That said, it seems like any post effects are prohibitively expensive on the Oculus Quest 2. I tried the built in URP color adjustment, and Bakery with minimal settings (see attached image). In both cases GPU utilization skyrockets.
     

    Attached Files:

    Kronnect likes this.
  21. Kronnect

    Kronnect

    Joined:
    Nov 16, 2014
    Posts:
    2,906
    There's a performance improvement planned in the roadmap of URP which should affect post processing implemented through render features.
     
  22. Level3Manatee

    Level3Manatee

    Joined:
    May 10, 2018
    Posts:
    10
    I am having an issue with the eye adaption effect. The exposure adaption behaves weirdly on the border between dark and bright areas (see video), i.e. the bright areas become darker for a second when looking down, the same when looking up again.


    Similarly, when transitioning from a very bright area to the dark, the dark first becomes bright, then dark, then bright again. My expectation would be a linear transition, where the contrast stays the same and only exposure changes.
    Is this intended behaviour? Is there something I can do to influence this?
     
  23. Kronnect

    Kronnect

    Joined:
    Nov 16, 2014
    Posts:
    2,906
    The expected behaviour is that when camera transitions from a very bright area to a dark area, everything becomes darker while your retina adapts (you're blind). Likewise, when transitioning from a dark area to a bright area, everything becomes brighter, overexposed, because your pupils are wide open from the dark area and needs adaptation.

    Checking your settings from the video (thanks for that), I see you have the Minimum Exposure set to 1. That means that the image will never become darker. The minimum and maximum exposure are the "clamp" range for the image exposure multiplier, like finalBrightness = clamp(adaptedBrightnes, min exposure, max exposure). Try reducing Min Exposure value.

    Regarding the non-linear change, I'm not sure, I'd need a repro to dig in.
     
  24. Level3Manatee

    Level3Manatee

    Joined:
    May 10, 2018
    Posts:
    10
    You mean like an overshoot? Is that how that actually works? Or maybe I'm reading your explanation wrong. My assumption was that when you transition from a bright area, the dark parts are very dark already (i.e. don't become even darker), and then the pupil gradually widens and adjusts to the new brightness.

    I tried that before, but that only seemed to make the dark parts darker? My first test case had the directional light at an intensity of 10, and the eye adaption wasn't able to adjust to that at all.

    Also, "Direct Write To Camera" disables all effects, including Beautify, so something seems off.

    I'll send you a link to a minimal project (2021.3.0f1, URP) via direct message.
     
  25. Kronnect

    Kronnect

    Joined:
    Nov 16, 2014
    Posts:
    2,906
    This is a known issue in latest URP version which is being addressed. Hopefully it will be fixed in next URP update.
     
    Level3Manatee likes this.
  26. castor76

    castor76

    Joined:
    Dec 5, 2011
    Posts:
    2,517
    Hi.

    I am looking at Beautify 2 and was hoping it supports different post processing setting per camera? Meaning I have two cameras, one base and on overlay (using URP) and wish to apply different post processing effects per camera.

    Is this possible with Beautify 2?
     
  27. Kronnect

    Kronnect

    Joined:
    Nov 16, 2014
    Posts:
    2,906
    Hi,
    You can have different cameras use different volumes through the volume mask property and using different profiles but the effects applied to the overlay camera will also affect the base camera contents since the overlay camera renders on top of the output of the base camera.
    Regards
     
  28. castor76

    castor76

    Joined:
    Dec 5, 2011
    Posts:
    2,517
    Hi. Just purchased the asset, but I can't seem to find where the volume mask property is. It's not on the standard volume from Unity...
     
  29. Kronnect

    Kronnect

    Joined:
    Nov 16, 2014
    Posts:
    2,906
    Volume Mask is a property of the camera.
     
  30. castor76

    castor76

    Joined:
    Dec 5, 2011
    Posts:
    2,517
    Ofcourse. Thanks.

    However, upon trying to use the asset I got 2 issues :

    This is my rendering set up. I use URP 2DRenderer

    1. Main camera with tone mapping on. (post processing on < camera, render data >)
    2. FX camera (overlay) with bloom on. (post processing on < camera, render data > )

    Problem :

    1. When enabling FX camers's post processing, I get double the amount of tone mapping applied to the rendered image.
    2. The bloom result is y coordinate flipped.

    Expected :

    1. I don't mind bloom being applied to final result (to both result of main camera and fx camera, as you have explained before, but I am not expecting the tone mapping to be applied twice, when I don't have them set on for the fx overlay camera.

    2. bloom result is not y flipped.

    Also I found that sharp and dithering happens all the time even if they are not set anywhere. I don't use them so I stripped them out to work it around. But I just want to let you know so it is known issue.
     
  31. Kronnect

    Kronnect

    Joined:
    Nov 16, 2014
    Posts:
    2,906
    The y-flip could be a 2D renderer bug. Could you please zip a repro project and send it to me? Thanks!
     
  32. castor76

    castor76

    Joined:
    Dec 5, 2011
    Posts:
    2,517
    Ok, but what about the tone map being applied twice?

    There is huge difference when second camera's post processing is enabled or not, even if the profile of the second camera has absolutely no feature enabled what so ever.
     
  33. Kronnect

    Kronnect

    Joined:
    Nov 16, 2014
    Posts:
    2,906
    are you using different profiles in each volume (one with tone map and the other without)?
     
  34. castor76

    castor76

    Joined:
    Dec 5, 2011
    Posts:
    2,517
    Yes absolutely. I am also using different volume mask as well. I have no features enabled for the second profile and it still some how affects the overall look, just by having the post processing turned on for the second camera.
     
  35. Kronnect

    Kronnect

    Joined:
    Nov 16, 2014
    Posts:
    2,906
    Alright. Send me a repro please.
     
  36. castor76

    castor76

    Joined:
    Dec 5, 2011
    Posts:
    2,517
    @Kronnect , I have sent email containing links to the repro and video explaining what is going on.
     
    Kronnect likes this.
  37. Rensoburro_Taki

    Rensoburro_Taki

    Joined:
    Sep 2, 2011
    Posts:
    274
    I need to overlap some official postprocessing effects additional over beautify2. However, it seems beautify is overwriting unity's postprocessing. As soon as I turn off beautify on the camera all postprocessing effects from unity appear. Also lens flare doesn't work. Did I miss something?
    I am using latest Unity 2020 LTS, deferred rendering, built in pipeline

    Update: Ah yes, I use Super Sampling and there it doesn't work. As soon as I turn off super sampling all unity's postprocessing effects are coming through!
     
    Last edited: May 20, 2022
    hopeful likes this.
  38. JudahMantell

    JudahMantell

    Joined:
    Feb 28, 2017
    Posts:
    476
    @Kronnect
    Hey there!
    I'm trying to use Beautify 2 in my project, and all is working as expected in the editor, but in builds, no Beautify effects are showing up. I'm using URP, and my setup is as follows:

    I have two volumes with two cameras in my scene:
    1) Global volume that affects both cameras (for LUTs, for example)
    2) Volume that only affects one camera in my scene (for DoF, for example). This camera is outputting to a Render Texture.

    I have tried every combination of "Strip Unused Beautify Features" on both Volume components and still no luck.
    I have tried disabling each of the volumes to see if it was an issue with having more than one in the scene, and still no luck.

    The effect is properly set up in all used Renderers and are active in both Volume components.

    Even after disabling all stripping features on the Beautify Volume component(s), after I build, somehow the "optimize beautify build" toggle is enabled still!
    And, if I try building and running one of the demo scenes, still no Beautify effects visible.
    I also tried adding the "DepthOnly" and "Beautify" shaders to the Always Include list in Player Settings, but still no luck.

    Any help would be appreciated as this is quite frustrating
    Thanks!
     
  39. Kronnect

    Kronnect

    Joined:
    Nov 16, 2014
    Posts:
    2,906
    I see you have posted also on the support forum. We’ll continue there. Thanks.
     
    JudahMantell likes this.
  40. zagreekie

    zagreekie

    Joined:
    Nov 20, 2017
    Posts:
    29
    I was wondering if there are any plans to support Bloom Scatter similar to default URP bloom? I find it improves the quality and allows another method of combatting flicker with smaller light sources like candles.
     
  41. Kronnect

    Kronnect

    Joined:
    Nov 16, 2014
    Posts:
    2,906
    Yes, blur kernel scale (which is similar) is used internally although we can expose new options. Did you try Antiflicker and Bloom Customize settings?
     
  42. Kronnect

    Kronnect

    Joined:
    Nov 16, 2014
    Posts:
    2,906
    I found that the Customize section gives you more fine control because you can change weights and intensities per bloom mip, while in standard bloom is just one-for-all setting. Anyway, for convenience a new option called "Spread" has been added to latest beta.
     
  43. Keaneo

    Keaneo

    Joined:
    Mar 7, 2015
    Posts:
    99
    Hi - I've added Beautify to a VR project using URP. Beautify shows up twice in the URP settings - could you please tell me why and how to fix if necessary? Thanks!

    upload_2022-8-16_9-28-51.png
     
  44. Kronnect

    Kronnect

    Joined:
    Nov 16, 2014
    Posts:
    2,906
    Select the Universal Renderer and scroll down to the render feature list. Does it appear twice? Remove all of them and readd Beautify - or delete the Universal Renderer and create a new one if needed.

    If problem persists, it could be a bug. Which Unity version are you using?
     
    Keaneo likes this.
  45. Keaneo

    Keaneo

    Joined:
    Mar 7, 2015
    Posts:
    99
    Only appeared once in the render feature list. I created a new one as you suggested and all looks OK now. Thanks!
     
    Kronnect likes this.
  46. ratonmalo

    ratonmalo

    Joined:
    May 8, 2020
    Posts:
    4
    Hi,
    Is this working in 2022.2b ? Thanks!
     
    Last edited: Oct 4, 2022
  47. Kronnect

    Kronnect

    Joined:
    Nov 16, 2014
    Posts:
    2,906
    We're launching a new update soon that's fully compatible with the upcoming Unity 2022.
     
    Last edited: Sep 6, 2022
  48. laessnb

    laessnb

    Joined:
    Jun 10, 2014
    Posts:
    101
    Hi, love the asset. I'm guessing what I want to achieve is not possible, but I thought I'd post here to ask about my multi-cam setup in the built-in rendering pipeline with forward + linear.
    1. main camera, perspective: renders the World layer, with Beautify on it set to apply tonemapping, Bloom, Anamorphic flares to the World layer
    2. UI camera, orthographic, clear Depth Only: renders various Screen Space - Camera canvases in the UI layer, with Beautify on it set to apply just Bloom to the UI layer
    I've tinkered with many settings but cannot get this to work how I want. Either the World geo, the UI, or both are missing their bloom and/or other Beautify effects. If I disable some of the masks by setting them to Nothing, stuff like the UI might begin working. If I change my canvases to World Space, the UI bloom works while the UI camera's Beautify is set to bloom only the UI layer, but the main camera doesn't apply any post-processing if its Beautify is set to World, only if it's set to Nothing. I'd love to understand the core limitation here so that I can rearchitect my setup, and/or understand what I'm doing wrong. Thank you!
     
  49. Kronnect

    Kronnect

    Joined:
    Nov 16, 2014
    Posts:
    2,906
    Hi there, thanks and glad you like Beautify. We're continuously improving it and a new update will be release soon with Unity 2022 support and many other improvements.

    There're a couple of issues here:

    1) The Bloom Layer Mask only works with opaque objects. This techique relies on a depth prepass executed over the selected objects so the bloom pass can "identify" them when applying the bloom. So the layer mask option can't be used over sprites, transparent objects or UI.

    2) When using stacked cameras, the post process pass is applied to the combined result always. The order is: Main Camera renders -> output -> the UI camera renders the UI over output > combined output > the post processing effect on the UI camera is applied to the combined output...

    In order to apply bloom only to the UI elements, you need to assign a render texture to your UI camera, so bloom will only be applied to that target. Then use a custom post processing pass that combines the contents of the render texture with the output of the main camera.

    Regards
     
    laessnb likes this.
  50. laessnb

    laessnb

    Joined:
    Jun 10, 2014
    Posts:
    101
    Thank you for your explanation. I got a version of this working using a RawImage on a third camera, and it's awesome to see two different Beautify setups on my gameplay vs my UI.

    I'm on 2019.4 built-in, and I'm using a RawImage because I couldn't figure out how to use a custom post processing pass once it got to the step of writing HLSL to support the new post processing effect in applying the render texture -- are you aware of a template that I could use for this purpose? I may very well be making this more complicated than it needs to be, but I'm not a graphics programmer :). Thank you again.