Search Unity

  1. Good news ✨ We have more Unite Now videos available for you to watch on-demand! Come check them out and ask our experts any questions!
    Dismiss Notice
  2. Enter the 2020.2 Beta Sweepstakes for a chance to win an Oculus Quest 2.
    Dismiss Notice

HDRP 5.3.0 PPv3 Bloom blurs the whole frame

Discussion in 'Graphics Experimental Previews' started by rz_0lento, Jan 28, 2019.

  1. rz_0lento

    rz_0lento

    Joined:
    Oct 8, 2013
    Posts:
    1,777
    Could be early impressions but I don't really like how the new HDRP bloom filter unsharpens the whole image. I know the new filter is supposed to be more physically accurate but I struggle to find proper use for it as is.

    It can look "passable" with really modest values but it still makes the whole image worse even in places where bloom effect wasn't needed. Only when you dial down the intensity down to 0.1, it doesn't notably destroy the sharpness elsewhere. Basically the intensity applies this constant blur effect almost in linear fashion on over the whole frame. So obviously the "unsharpen/blur" effect it creates at max value is less noticeable on lesser values.

    To demonstrate this, here's gif with different bloom intensities with default scatter value of 0.7:

    here's the intensity 0.0 and 0.5 with scatter value of 0.7 zoomed in to 250%:


    and here are two video clips:

    first one shows how the bloom works with scatter set to 0.0 and 1.0
    and for comparison, second one shows how the bloom worked on 2018.3 with old PPv2

    Old setup let you control the glow effect way easier without blurring the whole image, is there anything that could be done to improve this aspect on PPv3?

    PS. for people wondering about 5.3.0, it's currently on github and staging.
     
    PrecisionCats likes this.
  2. hippocoder

    hippocoder

    Digital Ape Moderator

    Joined:
    Apr 11, 2010
    Posts:
    26,726
    Can't test at the moment but any kind of bloom that's fuzzy like that is a major turn off for us. We would simply disable it as we use bloom to draw attention to things that must glow.

    I think regarding V3 you have to have way more intensity in the scene as V3 + GI are being upgraded to support correct physical lighting values so perhaps that's the problem here.
     
    rz_0lento likes this.
  3. ceebeee

    ceebeee

    Joined:
    Mar 7, 2017
    Posts:
    397
    Bloom is the first thing I turn off in every game I buy. It never looks good and just ruins everything. But that isn't even bloom, that's some kind of global fog.
     
  4. rz_0lento

    rz_0lento

    Joined:
    Oct 8, 2013
    Posts:
    1,777
    I also now found the advanced button for the settings I initially missed. It doesn't really change much here, but it did reveal that the bloom filtering is done in half resolution by default and there's only option to toggle it between half and quarter.

    I've fiddled around with the settings and the bloom I'd want from highly emissive materials (and you do need to put high emission value for this bloom new filter to show any glow) looks about right around 0.2-0.3 intensity on bloom filter, with scattering on 0.4-0.6. But 0.3 already makes whole image fuzzy and it affects notable the quality even with 0.2. If I don't care about emissive glow effect, I can get acceptable looks for bright lights by using 0.1 intensity and 0.4-0.6 scattering but that does really modest glow effect on emissive materials.

    Edit: when at 0.1 intensity, making the emissive materials even way more emissive kinda helps, but you have to go past 150x which is kind of in the totally different ballpark from what we've used to using. Is this really how it should work?
     
    Last edited: Jan 28, 2019
  5. hippocoder

    hippocoder

    Digital Ape Moderator

    Joined:
    Apr 11, 2010
    Posts:
    26,726
    You need to raise all the light strength etc by 100x I think, not sure on precise values, then have exposure bring that back down to reasonable levels before applying bloom.

    If it's doing what I think it's doing.
     
  6. rz_0lento

    rz_0lento

    Joined:
    Oct 8, 2013
    Posts:
    1,777
    Yeah I think so too, I already need to do it on emissive to get any kind of nice effect. It does make the bloom itself dictate how you setup your scene lighting though and that's not really something I like. I'd rather have it work as true postprocessing filter that one can tweak after everything is first tuned without it.

    Having more dependencies on PP effects to work nicely is not going to be fun for people who are setting up the lighting and materials.
     
  7. ceebeee

    ceebeee

    Joined:
    Mar 7, 2017
    Posts:
    397
    There's no realistic way you can increase brightness of your lights by 100X. That would totally obliterate everything in the scene. Has to be a bug.
     
  8. rz_0lento

    rz_0lento

    Joined:
    Oct 8, 2013
    Posts:
    1,777
    I tried this, you can't put huge lux values for directional light but you can use real world lumen values for spotlight for example. HD Templates spotlights are really weak and lumen values seem to reflect quite nicely what you'd expect from similar real world lumen lights (so you can use real world values for these).

    Upping the light values didn't really change what I observed with the new Bloom filter though, it still makes everything fuzzy at higher intensity than 0.1.
     
  9. hippocoder

    hippocoder

    Digital Ape Moderator

    Joined:
    Apr 11, 2010
    Posts:
    26,726
    No, the current light values in unity are 100x too dim... we are talking about using real light values. This is part of the work Unity is doing with V3 + 2019.1+ HDRP.

    This is partly why everyone is going to have to redo their lighting for HDRP.. they did several workarounds in FPS sample, exposure etc.
     
    ceebeee likes this.
  10. ceebeee

    ceebeee

    Joined:
    Mar 7, 2017
    Posts:
    397
    I see. that's um, unfortunate to hear. :(
     
  11. hippocoder

    hippocoder

    Digital Ape Moderator

    Joined:
    Apr 11, 2010
    Posts:
    26,726
    Well I think it's for the best and should result in better visuals overall.
     
  12. Grimreaper358

    Grimreaper358

    Joined:
    Apr 8, 2013
    Posts:
    726
    Yea, Lighting and Post processing will go hand in hand now with Post V3 and HDRP 5.3.0 forward. There's a good GDC talk on this by a developer on Mirrors Edge Catalyst using Frostbite. He also talks about how they scaled down the lighting and post-processing from real world values. (So exposure from interior and exterior isn't too bright)

    Link to talk - https://www.gdcvault.com/play/1023284/Lighting-the-City-of-Glass

    upload_2019-1-29_9-59-9.png
     
    Guerro323 and hippocoder like this.
  13. hippocoder

    hippocoder

    Digital Ape Moderator

    Joined:
    Apr 11, 2010
    Posts:
    26,726
    Plus not every game is realistic (mine is not) however I do prefer to work from ground truth toward the stylised result as the consistency will be kept.
     
  14. rz_0lento

    rz_0lento

    Joined:
    Oct 8, 2013
    Posts:
    1,777
    Ok so, it took some fiddling and help from fellow Unity users but we got the high intensity lights working. One issue with them is just the procedural sky's sun disc, after disabling that and using exposure control, things got back to looking normal, but I don't really see any positive effects from using the higher intensity atm though as visually it looks pretty same to me.

    As for bloom itself, I've come to conclusion that you are not supposed to use more than 0.1-0.2 for the filter, anything else and whole image goes to just fuzzy and is notably less sharp, but I think that's ok as you can make this work at 0.1.

    As for emissive materials, using Exposure weight (from the HD Lit shader) helped on getting the glowy look with smaller intensity values.
     
  15. hippocoder

    hippocoder

    Digital Ape Moderator

    Joined:
    Apr 11, 2010
    Posts:
    26,726
    I think really it makes more sense when a studio wants to use actual LUX from ground level or correctly plug in lighting and see a very similar to real world result. A studio using say, stacklit and this approach can easily do cheap film or tv series special effects on a shoestring budget and with VFX editor will likely become a tool servicing film industry or even automotive industries.

    For game indie devs using a physical camera and this stuff might seem bewildering I guess... assuming this isn't bugged.

    Regarding the procedural sky, it tended to break my image a lot, so I'm not sure what's happening there...
     
  16. Danua

    Danua

    Joined:
    Feb 20, 2015
    Posts:
    195
    where you get ppv 3???
     
  17. Guerro323

    Guerro323

    Joined:
    Sep 2, 2014
    Posts:
    25
    It's available in HDRP 5.3.0 that can be found in the staging packages.
     
  18. hippocoder

    hippocoder

    Digital Ape Moderator

    Joined:
    Apr 11, 2010
    Posts:
    26,726
    It's automatically built into HDRP. Remember, you never needed to install V2 either (this was also auto pulled in by HDRP previously).

    If you did then it had no effect ;)

    The only package you actually need for HDRP is actually only HDRP. You don't need SRP. You don't need Post. These are for developers of new kinds of SRP/Post, not for people who are using the post effects.
     
  19. rz_0lento

    rz_0lento

    Joined:
    Oct 8, 2013
    Posts:
    1,777
    It's on HDRP 5.3.0 and 5.3.1 atm. 5.3.1 is on github and on staging but not at regular registry yet (would expect it to appear there soon). Meanwhile you can try it on 2019.1.0a14 or new 2019.1.0b1 with following on your projects manifest:
    Code (CSharp):
    1. {
    2.   "registry": "https://staging-packages.unity.com",
    3.   "dependencies": {
    4.    "com.unity.render-pipelines.high-definition": "5.3.1-preview",
    5.  
    6.    ...
    7.  }
    8. }
    9.  
     
  20. Danua

    Danua

    Joined:
    Feb 20, 2015
    Posts:
    195
    upload_2019-1-30_1-3-51.png
    what the error is?
     
  21. rz_0lento

    rz_0lento

    Joined:
    Oct 8, 2013
    Posts:
    1,777
    I hope you didn't paste that "..." there, the idea was just that you add those top lines there in place of what's by default and leave the rest as is (and remove existing HDRP line if that was there already).
     
  22. rz_0lento

    rz_0lento

    Joined:
    Oct 8, 2013
    Posts:
    1,777
    Unity just pushed 5.3.1 to regular registry. It should now show up soon without manual manifest modifications on your package manager.

    Before it shows up there, you can still use modified manifest but you don't need the staging registry for it anymore.
     
    Last edited: Jan 29, 2019
    hippocoder likes this.
  23. f1ac

    f1ac

    Joined:
    May 23, 2016
    Posts:
    65
    I've tried new bloom with 125000 lux light and a skybox with very high illuminance values. In this case bloom looks ok:
    Capture.JPG

    Bloom off:
    Capture2.JPG
     
  24. ceebeee

    ceebeee

    Joined:
    Mar 7, 2017
    Posts:
    397
    That is interesting, as the actual sun is 128,000 Lux according to Wikipedia. So I guess they are aiming for close to Real world values.

     
    Guerro323 likes this.
  25. id0

    id0

    Joined:
    Nov 23, 2012
    Posts:
    386
    I'm trying this new HDRP post effects and it's deffenitly better than standart. Color correction and other stuff now really good works with light. I make realistic game and very happy. But old post processing V2 not supported, and even not working anymore. This is sad.
     
  26. Danua

    Danua

    Joined:
    Feb 20, 2015
    Posts:
    195
    I soooo happy that we can now manage tonemapper curve when aces mode in use, i hate how ACES kill all white stuff and that wierd yellow tint, but now i can simply tune it's as i want!!
     
    id0 likes this.
  27. thelebaron

    thelebaron

    Joined:
    Jun 2, 2013
    Posts:
    529
    I spent a decent chunk of time trying to understand why my pp(v2) wasnt working the other day :p. Wish this was more clear in the package manager or something.
     
    PrecisionCats and hippocoder like this.
  28. ceebeee

    ceebeee

    Joined:
    Mar 7, 2017
    Posts:
    397
    hippocoder likes this.
  29. rz_0lento

    rz_0lento

    Joined:
    Oct 8, 2013
    Posts:
    1,777
    @ceebeee that's kinda different issue. HDRP 5.2.3-preview didn't install PPv2 package either even it still worked on it. The issue thelebaron had here was that there's no warning that HDRP 5.3+ will not work with PPv2 anymore. If you just put it into project with PP volumes and such from old setup, it still runs but there's no warning or explanation why it fails.

    It's worth noting that 2019.1 is still in beta and 5.3.1-preview is first "release" with PPv3. It's totally possible that Unity will add warning about this on future PPv2 (should be trivial to add a warning if people run it on HDRP 5.3 or newer).
     
  30. thelebaron

    thelebaron

    Joined:
    Jun 2, 2013
    Posts:
    529
    Anyone have tips on getting this to look correct? Setting the SampleScene directional light to 125000 lux seems to turn the sky grey(when adding an exposure(physical camera) component to the volume settings), and adding bloom just completely blows out the scene.
    What is a skybox with high illuminance values, does that refer to the directional light? Is it something other than a procedural sky?
     
  31. rz_0lento

    rz_0lento

    Joined:
    Oct 8, 2013
    Posts:
    1,777
    This is one of the issues (disabling the disc is kinda temp solution):
    You also need to boost the procedural sky exposure value as well to get the sky visible again.
     
    thelebaron likes this.
  32. f1ac

    f1ac

    Joined:
    May 23, 2016
    Posts:
    65
    I've just implemented my own procedural sky shader which calculates real world luminance values.
    If I change the output to return smoothstep(1000, 10000, finalColor) and disable exposure/tonemapping, this is the output:
    {F5E52273-3174-4AB1-8E4D-18D4898BFE6E}.png.jpg
    Direct sun illumination is >10000lux, Earth reflection is <1000 lux, an the rest of the sky is in between.

    P.S.: there is still some blurring of the whole screen going on, I would prefer an option to disable bloom for a lower x percentage of output luminance values too.
     
    Last edited: Feb 9, 2019
    Guerro323 likes this.
  33. mariusgeorge

    mariusgeorge

    Joined:
    Jan 29, 2016
    Posts:
    17
    Hey all - here's a question: what if I have a night-time scene with bright street lights having emissive on the bulbs. I want to apply bloom. The street lights have realistic values. However - even after adjusting exposure and having the scene look right, bloom does not show up unless cranked up almost all the way, at which point even the darkest elements in the scene are completely blurred. What's up with this?
     
  34. mariusgeorge

    mariusgeorge

    Joined:
    Jan 29, 2016
    Posts:
    17
    It seems that since bloom is a kind of hack anyway, that it would be great just to have the threshold slider back?
     
  35. hippocoder

    hippocoder

    Digital Ape Moderator

    Joined:
    Apr 11, 2010
    Posts:
    26,726
    Not in V3, bloom is physically based there.

    New bloom is fine with 0.2 intensity (almost invisible) then increase emission on material to get the old glow behaviour back. Seems fine here.

    There is no interest in V2, obviously as it doesn't work with 5.3x HDRP.
     
  36. PhilSA

    PhilSA

    Joined:
    Jul 11, 2013
    Posts:
    1,495
    Just found out about this bloom issue while testing in 2019.2a6 and I was wondering if others noticed it too, so I found this thread.

    These screenshots from FPS Sample and Fontainebleau demo represent exactly what you DON'T want your game to look like (bloomy, blurry, muddy, overburdened, etc..... ):



    ...and since a lot of Unity's official demos seem to have that problem, I'm kinda worried that the v3 bloom is actually intended to look like this instead of being a bug. Bloom from v2 was perfectly good. Would love to hear a dev comment on this.

    Even with increased lux values, we still really need a threshold value to cut off unwanted bloominess in areas that are not super-emissive

    The key to good PostFX is subtlety. Make clean, sharp and unbloated. Avoid unjustified blur, dirty lens and DOF effects at all costs!
     
    Last edited: Mar 4, 2019
    dadude123 and PrecisionCats like this.
  37. hippocoder

    hippocoder

    Digital Ape Moderator

    Joined:
    Apr 11, 2010
    Posts:
    26,726
    AFAIK the bloom is intended to have low intensity values (like 0.2 or less) and now you boost the glow in the materials instead.

    But yes, some tweak factor is needed even for true PBR renderers, even mirror's edge needed to have an unrealistic lux value.
     
  38. mariusgeorge

    mariusgeorge

    Joined:
    Jan 29, 2016
    Posts:
    17
    It takes a bit getting used to, having no "threshold" slider and more explicit control. But... by setting the scene's exposure to a good level and then having some emissive lamp surfaces at intensity 6 in the HDR color picker and bloom level 0.1 to 0.2... it works great.
     
  39. rz_0lento

    rz_0lento

    Joined:
    Oct 8, 2013
    Posts:
    1,777
    I personally dislike new bloom even at 0.2 as I can see the extra softening pass on whole screen with that (when toggling the effect on and off). 0.1 still feels safe (but it bugs me that I know it's still effecting the whole frame even with small value like that).

    I don't really care if it's physically correct to blur it like that, I don't want it to do that. It makes no sense to have a great HD renderer and then just blur the results away.
     
    PrecisionCats likes this.
  40. hatless

    hatless

    Joined:
    Dec 15, 2010
    Posts:
    41
    Agree that smearing out the whole screen isn't a wanted feature.

    Also, making a source bright enough to have a strong halo blows the object's colour out to white or a saturated primary/secondary colour (depending on tonemapper.) Which might be realistic, but is very limiting. All I really want is an vivid orange object with a vivid orange halo, but that doesn't seem achievable... :(
     
  41. Grimreaper358

    Grimreaper358

    Joined:
    Apr 8, 2013
    Posts:
    726
    As you said it depends on the tonemapper and with ACES Tonemapper you will always get this result. It's how it's supposed to function so gotta do some manual work for a custom look. You will have to mess around with the Neutral or Custom tonemapper or even a LUT.
     
  42. hatless

    hatless

    Joined:
    Dec 15, 2010
    Posts:
    41
    Believe me I have tried. The only options are to crank emissive intensity so high it breaks the engine's colour representation, or crank bloom intensity so high it turns the image to mush.
     
  43. Grimreaper358

    Grimreaper358

    Joined:
    Apr 8, 2013
    Posts:
    726
    Haven't had the same experience as you. I only use ACES tonemapper so can't really speak about the other methods but I can control how the emissive is.

    upload_2019-3-5_13-18-13.png

    upload_2019-3-5_13-20-35.png
     
    Guerro323 likes this.
  44. PhilSA

    PhilSA

    Joined:
    Jul 11, 2013
    Posts:
    1,495
    Here's the problem I see with new bloom:
    (open images in tabs and alternate between them to see differences better)

    1- Bloom Disabled:


    2- Bloom Enabled:


    3- Bloom Disabled + emissive sphere:


    4- Bloom Enabled + emissive sphere:

    Look closely at the yellow hat and orange saw. In image 1 and 3 they look sharp, and in image 2 and 4 they look blurry (because bloom is activated, with intensity of 0.2).

    What I'd really want here as a final result is my glowy sphere to look like in image 4, but the hat & saw to look like in image 1 and 3. And without the presence of the glowy sphere, image 2 should look almost exactly like image 1 even with bloom enabled (without blurriness). This was possible to achieve in PostFXv2. I think all that's missing is a threshold value to filter out blurriness in low-light-intensity areas

    I just did a little sanity check and observed bright colorful objects in direct contact with sunlight in real life, and there is no blurriness whatsoever surrounding them. So I wouldn't say the current bloom is "physically accurate"
     
    Last edited: Mar 5, 2019
  45. hatless

    hatless

    Joined:
    Dec 15, 2010
    Posts:
    41
    I'd say that's pretty thoroughly blown out to white (the sphere on the left is #f3f7f8, on the right #f9f8f2. Just a few percentage points off full white.)
     
  46. id0

    id0

    Joined:
    Nov 23, 2012
    Posts:
    386
    PhilSA you need stronger intensity of the sky and other lights. Everything is physical now, remember?
     
  47. PhilSA

    PhilSA

    Joined:
    Jul 11, 2013
    Posts:
    1,495
    Here is the same scene, but with DirectionalLight intensity of 1000 lux (as opposed to 10 before). The sun is now so bright that you can't even see the glowy sphere's emission anymore:

    Bloom disabled:


    Bloom enabled:

    But still, the blurriness persists on the hat and saw. I haven't found any way to make them not blurry
     
  48. Grimreaper358

    Grimreaper358

    Joined:
    Apr 8, 2013
    Posts:
    726
    Yea this is what ACES tone mapper is supposed to do. In the images I posted the scene isn't properly exposed so the exposure has to be higher to make it look fairly lit and because of that anything that's already somewhat bright or fairly lit will get brighter and starts becoming closer to white
     
  49. rz_0lento

    rz_0lento

    Joined:
    Oct 8, 2013
    Posts:
    1,777
    @PhilSA try Bloom intensity 0.1 and scattering 0.4. This works acceptably for me (altho like mentioned, I don't like how it works). You can always boost the emission value to make it glow on the lower intensity. Of course if you need to bake lights, high emission value may ruin the other lighting, on dynamic lighting this will not be an issue.
     
    PhilSA likes this.
  50. hatless

    hatless

    Joined:
    Dec 15, 2010
    Posts:
    41
    So you don't have a solution to the problem which I described and which you were ostentibly trying to solve.
     
unityunity