Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    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. Rallix

    Rallix

    Joined:
    Mar 17, 2016
    Posts:
    139
    Hi,
    – It's possible to enter playmode, but yes, Beautify unfortunately doesn't work in it.
    – Unfortunately, that's all there is. Just two lines of the error, no stack trace. The assertion error shows up when entering the playmode, no stack trace either.

    upload_2020-8-2_17-21-31.png

    – I see no errors when I select BeautifyCore.shader, but the preview appears pink.
    (!!!) Reimporting it fixes Beautify in the Scene View and the Graphics.Blit errors disappear, but it still doesn't work in the playmode, only partially. I.e. I added an over the top vignette – which does appear in the playmode, but tonemapping is gone (see the last two gifs).
     

    Attached Files:

  2. Kronnect

    Kronnect

    Joined:
    Nov 16, 2014
    Posts:
    2,896
    Ok, thank you. We'll try to reproduce the issue. Just to confirm, you're using Unity 2020.1, URP 8.2 and target WebGL, right?
     
  3. Rallix

    Rallix

    Joined:
    Mar 17, 2016
    Posts:
    139
    Yes.
    (Also, the sceneRanges.empty() error is most likely unrelated.)

    Edit in case someone experiences the same issue:
    – The Graphics.Blit errors were fixed by reimporting BeautifyCore.shader
    – Postprocessing not working was a combination of "Direct Write To Camera" and FXAA anti-aliasing enabled together. Disabling either option fixed the problem.
     
    Last edited: Aug 12, 2020
  4. ogawa-nami

    ogawa-nami

    Joined:
    Jul 28, 2020
    Posts:
    1
    Hi team!
    I'm using Outline effect of Beautify2 build-in version in Unity 2019.4.2f1 Standard 3D project (not URP/HDRP). I'd like to run it on Oculus Quest App in Multiview rendering (that's why I found Beautify asset). The effect works perfectly when I run it on Unity Editor on PC using Oculus link (Single Pass Instanced). However, when I build the app for Quest, the effect doesn't work as expected.

    The issue is as follows:
    With OpenGLES3
    - Left eye: no problem
    - Right eye: outlines are rendered far-right than they should be (whole outlines are shifted rightward). The original images are rendered in normal.
    With Vulkan
    - Left eye: not only outlines but whole images are rendered far-left. Outlines match the images correctly.
    - Right eyes: correctly rendered, but looks so sluggish (for both eyes)

    Using multi-pass settings is not an option for me because fps gets too slow. I would really appreciate any help!
     
    Last edited: Aug 6, 2020
  5. Kronnect

    Kronnect

    Joined:
    Nov 16, 2014
    Posts:
    2,896
    Hi, could you please send me a pm with a simple repro scene? Thank you!
     
  6. nsxdavid

    nsxdavid

    Joined:
    Apr 6, 2009
    Posts:
    476
    So started using Beautify's Depth of Field feature, and it works just fine except it doesn't blur the skybox. Which looks really bad.

    Help? :/
     
  7. Kronnect

    Kronnect

    Joined:
    Nov 16, 2014
    Posts:
    2,896
    Do you have Max Distance set to 1 in DoF settings?
    Check demo scene 3 as a quick test.
     
  8. nsxdavid

    nsxdavid

    Joined:
    Apr 6, 2009
    Posts:
    476
    Yes:

    upload_2020-9-4_13-47-3.png
     
  9. nsxdavid

    nsxdavid

    Joined:
    Apr 6, 2009
    Posts:
    476
    Example of it not blurring the skybox:

    upload_2020-9-4_13-51-36.png
     
  10. Kronnect

    Kronnect

    Joined:
    Nov 16, 2014
    Posts:
    2,896
    Are you using any special skydome or similar? Standard skybox should work out of the box. What're your camera clipping planes? Could you please send me a repro with just the skybox?
     
  11. nsxdavid

    nsxdavid

    Joined:
    Apr 6, 2009
    Posts:
    476
    Nothing special that I can think of. Just a skybox set in the usual way for the camera clear. Camera clip plane should not have any impact on a skybox as it's just rendered first regardless of the clip plane, so not sure what difference that would make for the post processing.

    I take it you expect this to work. I'm not sure what would impact it not working.
     
  12. Kronnect

    Kronnect

    Joined:
    Nov 16, 2014
    Posts:
    2,896
    Sure, this should work out of the box. You didn't mention if you're using built-in or URP nor if you can repro using the demo scene? Reason for asking the camera clip plane is just for some accuracy issues I've seen when using the Max Depth DoF option on some platforms due to floating point precission bug on Android for example (which was recently fixed on URP). I don't know what else could affect in your case - I've re-checked this using latest Unity version and works as expected.

    Just to discard that possibility, edit BeautifyDoF.cginc and comment out this line:
    Code (CSharp):
    1. if (depth>_BokehData3.y) return 0;
     
    NicolasDuboc likes this.
  13. nsxdavid

    nsxdavid

    Joined:
    Apr 6, 2009
    Posts:
    476
    Sorry, got distracted by a different issue... circling back to this now and will try your hack to see what impact it has.
     
  14. nsxdavid

    nsxdavid

    Joined:
    Apr 6, 2009
    Posts:
    476
    @Thrawn75 So, I'm using the standard (legacy) rendering pipeline. I found that line of code in BeautifyPPSDoF.hlsl rather than cginc, and commented it out. And the skydome then did blur.

    This is on PC.

    upload_2020-9-9_12-29-0.png


    I imagine I should just leave that line commented out for now? As I don't have any need for a distance cutoff on the DoF effect (and not sure under what circumstances you would want that even).

    I assume this helps track it down though?
     
  15. Kronnect

    Kronnect

    Joined:
    Nov 16, 2014
    Posts:
    2,896
    Yes, thank you.
     
  16. hellstorm

    hellstorm

    Joined:
    Jun 29, 2015
    Posts:
    41
    Greetings!


    whenever i press play, my downscale settings return to 1.

    setting them higher after play mode doesnt seem to help, and manually setting them with a script in build makes the oculus quest screen black.

    it works in quest if i dont touch the downscale settings but 1 is too much preformance wise.


    thanks!
     
  17. hellstorm

    hellstorm

    Joined:
    Jun 29, 2015
    Posts:
    41
    as a sanity test, i went back to the version you posted for the oculus quest article, and its the same effect!

    as soon as downsample is touched the game has a black/grey screen


    so far i can only get it running with bad performance on quest.
     
  18. Kronnect

    Kronnect

    Joined:
    Nov 16, 2014
    Posts:
    2,896
    It gets back to 1 because downsampling doesn't work with VR (by design).

    You should get good framerates though, by using correct settings.
    Using demo scene as a reference, I used these settings and get 70-72 fps on the Oculus Quest (Unity 2020.1.3f):


    Effects used are: all image enhancement filters (sharpen, color tweaks, etc.) + bloom + anamorphic flares and lens dirt.

    Notice that both Bloom and Anamorphic Flares Layer Mask is set to Nothing. If you set these fields to something else, Beautify will execute a depth prepass on those objects with a performance that depends on scene complexity. If you leave these fields to Nothing (default behaviour), Beautify effects are independent of scene complexity so you should get the same performance. If you still have issues with perf, feel free to send me a pm with a repro or your scene and we'll take a look and advice.

    Regards
     
  19. hellstorm

    hellstorm

    Joined:
    Jun 29, 2015
    Posts:
    41
    Thanks I'll try that! I had a very small simple scene
     
  20. hellstorm

    hellstorm

    Joined:
    Jun 29, 2015
    Posts:
    41
    Greetings, with these settings im getting around 45 fps in a very simple scene, around 60 when looking straight up. 72 with beautify disabled

    im using built in renderer, built in beautify 2.0 and unity 2019.4.0f1 and oculus quest.
     

    Attached Files:

  21. dgoodman-icf

    dgoodman-icf

    Joined:
    Jan 7, 2019
    Posts:
    36
    EDIT: I feel stupid. I wasn't hitting the SAVE button. haha

    Does this not work in VR? When I click play, all the items uncheck (bloom, vignette, etc)
     
    Kronnect likes this.
  22. lolclol

    lolclol

    Joined:
    Jan 24, 2013
    Posts:
    212
    hi, can i downsample to like 1.2 or 1.5 ? it only allows 1 2 3 4 etc
     
  23. Kronnect

    Kronnect

    Joined:
    Nov 16, 2014
    Posts:
    2,896
    Change the "downscale" type to float in Beautify.cs. Also look for downsample.intValue and change it to downsample.floatValue in all occurences.
     
    lolclol likes this.
  24. puzzlekings

    puzzlekings

    Joined:
    Sep 6, 2012
    Posts:
    404
    @Kronnect

    I am trying to figure out why after adding Beautify (1) with no effects and minimal shader options the number of batches, triangles and draw calls increase so much?

    thanks

    Nalin

    With no Beautify:
    No Beautify.png

    with Beautify
    Beautify.png
     
  25. Kronnect

    Kronnect

    Joined:
    Nov 16, 2014
    Posts:
    2,896
    Yes, it doesn't make sense. Using that configuration, Beautify should not add more than 1 batch at most.
    Can you replicate that in an empty scene adding Beautify? (it shouldn't make any difference since Beautify is irrespective of scene geometry).
    Or could you please send me the scene or a simple repro by email?
     
  26. Jshh

    Jshh

    Joined:
    Sep 14, 2019
    Posts:
    38
  27. Kronnect

    Kronnect

    Joined:
    Nov 16, 2014
    Posts:
    2,896
    Hey, thanks for purchasing.
    Beautify effects are an integrated pack and can't be extended (unless you know how to edit the main/uber shader). You can add other effects to the camera as you would do normally.
    Regards
     
    Jshh likes this.
  28. Kronnect

    Kronnect

    Joined:
    Nov 16, 2014
    Posts:
    2,896
    Hi all!

    We've just released Skybox Plus!

    Skybox Plus is a beautiful, dynamic, skybox solution that includes real-time, animated haze & procedural clouds as well as hand-painted, multi-layered, clouds.





    Check it out (50% off for limited time)
     
    Lars-Steenhoff and GridWanderer like this.
  29. Adam_Benko

    Adam_Benko

    Joined:
    Jun 16, 2018
    Posts:
    103
    Hi, when I enable sun and rays, and when I use multiple cameras, after I switch to second or third camera, the sun moves too. (the first camera is parented and moves too as disabled game object, player is in a spaceship).
    How can I prevent this from happening ?

    The second problem is that when I set the sun to a certain game object and then I move the gameobject, the sun stays in place. (bot in and out of runtime.)
     
  30. Kronnect

    Kronnect

    Joined:
    Nov 16, 2014
    Posts:
    2,896
    You could try disabling the Sun Flares effect when changing camera using:
    Code (CSharp):
    1. BeautifyEffect.Beautify.instance.sunFlares = false;
     
  31. Adam_Benko

    Adam_Benko

    Joined:
    Jun 16, 2018
    Posts:
    103
    But then the player wont see the sun from the spaceship.
    Player has a camera, ship has a camera. Once player enters the ship, he is parented and disabled. Now the camera of ship is active and that's when the sun/sunflares moves.
     
  32. Kronnect

    Kronnect

    Joined:
    Nov 16, 2014
    Posts:
    2,896
    Alright, probably just a matter of setting the reference camera in Beautify. Let's continue by mail to avoid polluting the thread with a support question, ok? Please send me a screenshot of your camera hierarchy with Beautify before and after switching the camera modes.
     
  33. Adam_Benko

    Adam_Benko

    Joined:
    Jun 16, 2018
    Posts:
    103
    How can I access Beautify properties with a script ? Information in documentation is not enough for me. It mentions the Beautify component but I cant access it.
    Thanks.
     
  34. Kronnect

    Kronnect

    Joined:
    Nov 16, 2014
    Posts:
    2,896
    Probably you didn't include the namespace. Try this:

    Code (CSharp):
    1. BeautifyEffect.Beautify.instance.xxx = value;
    where xxx is the property name you want to change.
     
  35. Adam_Benko

    Adam_Benko

    Joined:
    Jun 16, 2018
    Posts:
    103
    Could you please send me a picture of how the namespace should look like ?
    Thanks.
     
  36. Kronnect

    Kronnect

    Joined:
    Nov 16, 2014
    Posts:
    2,896
    "BeautifyEffect" is the namespace.
    You have sample scripts in the demo scene inside Beautify/Demos/DemoSources/Scripts folder.
     
    Adam_Benko likes this.
  37. Kronnect

    Kronnect

    Joined:
    Nov 16, 2014
    Posts:
    2,896
    Hi!

    We’re excited to announce that we’ve been nominated for Asset Store Publisher of the Year at the Unity Awards 2020.

    The Unity Awards, first celebrated in 2008, recognize the most outstanding examples of games, simulations, visualizations and other projects created using the Unity development platform across a variety of categories. Winners will be announced by December 23, 2020.

    This is the first time the awards include an Asset Store Publisher of the Year category.

    We’d like to thank all our users who have walked along with us and helped us shape these phenomenal assets with their support and suggestions. This recognition would have been impossible without your warm feedback and shared passion on building our dreams.

    We would love it if you, our customer, could head over to the website and vote for us in the Asset Store Publisher of the Year category. The voting is open now and runs until the December 21, so make sure you head over and cast your vote.

    Wish us luck!

     
    Last edited: Dec 9, 2020
    sjm-tech likes this.
  38. Kronnect

    Kronnect

    Joined:
    Nov 16, 2014
    Posts:
    2,896
    New vigentting effect options in latest beta:
     
  39. Oxeren

    Oxeren

    Joined:
    Aug 14, 2013
    Posts:
    120
    Really enjoying Beautify 2! Got a question about Depth of Field (using URP):
    Is it somehow possible to render transparent geometry after DoF but before the rest of the stack? Or, I guess, it requires modifying the renderer feature to insert a pass for that?
     
  40. Kronnect

    Kronnect

    Joined:
    Nov 16, 2014
    Posts:
    2,896
    You can edit the render feature to change the injection point (before or after transparent queue for example) but you can't split the effect from DoF since they are composed in the same render pass.
     
    Oxeren likes this.
  41. supericon

    supericon

    Joined:
    Feb 15, 2013
    Posts:
    63
    Hi Kronnect - did you ever hear from the URP team on allowing additional Renderer Features on the 2D renderer?
     
  42. Kronnect

    Kronnect

    Joined:
    Nov 16, 2014
    Posts:
    2,896
    No AFAIK.
     
  43. WuchiOnline

    WuchiOnline

    Joined:
    Apr 5, 2018
    Posts:
    10
    I tried using Beautify 2 Built-In on a fresh project recently for Oculus Quest using:

    - Vulkan
    - Multiview
    - IL2CPP
    - ARM64

    Within the build, the colors were all over the place, like colorful static on an old-school TV. I don't have a screenshot, but it looked like pure chaos -- nothing was discernible, just a random smattering of electric colors.

    Any advice?
     
  44. netpost

    netpost

    Joined:
    May 6, 2018
    Posts:
    388
    @Kronnect First, Congratulations for your Store Publisher of the Year Nomination! I know this is the result of hard work creating great assets with amazing support. :)

    I have some new errors in my console. I am using Unity 2018.4.30f1 and beautify was working fine until I opened my project this morning. Perhaps you can help me solving this. Thank you!

    Code (CSharp):
    1. RenderTexture.Create failed: requested size is too large.
    2. UnityEngine.RenderTexture:GetTemporary(RenderTextureDescriptor)
    3. BeautifyEffect.Beautify:OnRenderImage(RenderTexture, RenderTexture) (at Assets/Beautify/Scripts/Beautify.cs:3159)
    4.  
     
    Kronnect likes this.
  45. Kronnect

    Kronnect

    Joined:
    Nov 16, 2014
    Posts:
    2,896
    Thank you.
    Regarding the error, do you have super sampling enabled?
     
  46. netpost

    netpost

    Joined:
    May 6, 2018
    Posts:
    388
    @Kronnect Thanks for the quick reply

    Anti Aliasing is not checked in the Unity Graphic settings. but the anti aliasing is set to 5 with a threshold of .001 in beautify. Sorry, I have no idea where to find the super sampling feature in beautify to know wether it is on or off.
     
  47. Kronnect

    Kronnect

    Joined:
    Nov 16, 2014
    Posts:
    2,896
    Beautify (for built-in pipeline) comes with a super-sampling option in Best Quality mode:



    But nvm, I'll check that log tomorrow Monday.
    Regards
     
  48. netpost

    netpost

    Joined:
    May 6, 2018
    Posts:
    388
    @Kronnect

    I switch from Best Quality to Best Performance and I have no more error.

    Thanks again for you support
     
  49. Whinsekk2002

    Whinsekk2002

    Joined:
    Nov 7, 2019
    Posts:
    1
    Beautify 2 tiene oclusión ambiental?
     
  50. Kronnect

    Kronnect

    Joined:
    Nov 16, 2014
    Posts:
    2,896
    No. Ese efecto tiene lugar antes de que los objetos transparentes sean renderizados y Beautify se ejecuta después de estos así que incluir dicho efecto no aporta mejoras de rendimiento. Te recomiendo mirar HBAO.