Search Unity

Unreal Lumen (Global Illumination without RT)

Discussion in 'Global Illumination' started by jjejj87, May 28, 2021.

  1. jjejj87

    jjejj87

    Joined:
    Feb 2, 2013
    Posts:
    1,117
    Don't know what you are talking about. I am saying that the HDRP team is very small and that I heard it from the HDRP dev recently. And I am saying that HDRP team should not be short handed or small provided Unity is a publicly traded company with 5000+ employees. On top of the HDRP is literally spearheading Unity.

    You are absurdly making the assumption that the team is small because hiring is difficult. I don't even know where you got that idea or why even say that. Also, please don't say "more dumb people". I understand that you were not trying to offend anyone, but don't you think it is a bit rude to people working at Unity, and every other dev looking for a job?

    Lastly, we don't live in a small village. Unity hires all over the world. It is hard to justify that the team is small because there is no one qualified for an engine render team. I don't have the statistics to back it up, but I find it hard to believe that the HDRP team is small because there are no people left...it is not like they are working on rocket science anyway. Nothing in HDRP is an invention, but closer to an implementation of an existing theory/tech so I don't think the required qualifications are extremely narrow. Not to the degree that there are handful of prospects. Let's be realistic.
     
  2. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    Thing is there is a non stop aggressive need for every company out there to get talent. It's the biggest problem facing tech companies today. A couple of years ago they all hired through the roof. Then pandemic came and they found that problems aren't being solved with quantities.

    Problems are too hard. Too hard for me, and I had a pretty good grip on last gen engines. These days, it's really slipping away from me.

    You're right I'm not trying to offend anyone. Instead of dumb, I can use the words: "Simply not smart enough". It doesn't matter how you frame it, you kind of do need math degrees and more now, where in the past you have relatively simple engines.

    These days the GPU code alone spans several different fields and that says it all.
     
    NotaNaN and Ryiah like this.
  3. Direful

    Direful

    Joined:
    Feb 9, 2020
    Posts:
    18
    Yes i've tried it in unity that's why i said that the amount of triangles does not affect SSGI because it is not using ray tracing to compute the GI.
     
    Last edited: Jun 18, 2022
  4. jjejj87

    jjejj87

    Joined:
    Feb 2, 2013
    Posts:
    1,117
    I think we are branching off here a bit, but I get what you are trying to say. Although I think if there are hiring problems, it is most likely related to the salary Unity is willing to spend and not the number of available devs in the field. There are literally thousands of other professions that require the same qualifications. And they are not understaffed. But maybe discussing further without more inside information is just us wild guessing. I think its better to leave this topic with the fact that the HDRP team is smaller than we generally expect. As for reasons we speculate.

    You know what, I will try to do a unit test soon and get back. My experience tells me that it does, but what you said also makes sense so I will try to think of a unit test to check the results. I am actually not 100% whether my memory is a blend of RTGI and SSGI.
     
  5. Deleted User

    Deleted User

    Guest

    Since this is not a DOTS thread so i am just going to say that you need to do some research on DOTS by checking its roadmap, BRG thread, some DOTS discussions and GDC videos... Unity has chosen this way to tackle open world games and already has some performance tools for it which have huge impact and something which devs must consider when developing openworlds in unity
     
  6. valarnur

    valarnur

    Joined:
    Apr 7, 2019
    Posts:
    440
    What would take to improve current SSGI in Unity to Lumen level of features and quality?
     
  7. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    Well, it's pretty good and will be better with APV fallback for offscreen surfaces, or RT fallback, which you can enable now but this thread is without RT.

    Basically SSGI is a screen space effect so it needs help filling in the blanks from offscreen data.
     
  8. blueivy

    blueivy

    Joined:
    Mar 4, 2013
    Posts:
    633
  9. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    21,190
    Why are you assuming it's a money problem? Once some people reach a certain income level they start looking at other aspects of a potential job like what interesting technologies are being worked on.
     
    hippocoder likes this.
  10. Deleted User

    Deleted User

    Guest

    I really want unity to improve it more so that it actually becomes production ready!! Unreal's SSGI alone is quite usable even without any offscreen data's (lumen) and fallbacks and is much faster and cleaner... On the other hand unity's SSGI is very noisy in certain circumstances and is very heavy and if the ray miss option of SSGI is set to none, it makes the whole scene dark as if it misses all the rays ( i don't know if it's by design but looks like a big flaw to me)
     
  11. Direful

    Direful

    Joined:
    Feb 9, 2020
    Posts:
    18
    First of all, there is no other ssgi method to fix the screen space limitation without the help of a fallback method. That's why unreal made lumen, to add a fallback to unreal's ssgi screen space limitation.

    Unity on the other hand, only provides a few fallback method to fix ssgi's limitations, such as reflection probes and rtgi.

    SSGI without any fallback method will of course give the scene no light if there are no lights present in the view because that's the limitations of ssgi (every ssgi in any engine, not just in unity). In unity you could fix this by changing the fallback method to other than none.

    Basically you can't have a GI with the quality & features of Ray Traced GI computing in real time and supports dynamic geometries and expect to have a very high performance with a card like well let's say gtx 1050 or 960 (dont even think about running in mobile like android/ios). Lumen cant give you that too because it requires a high end card and since you consider unity's ssgi is "very heavy" (im assuming you get less than 30 fps), then lumen is probably not an available option for you too, therefore you will have to wait for the next ground-breaking GI solution for lower end cards to come out or just wait until gpu prices goes much lower.
     
    Last edited: Jun 22, 2022
  12. Deleted User

    Deleted User

    Guest

    I was only comparing SSGI in both the engines and i know about the limitations of these effects
     
  13. Direful

    Direful

    Joined:
    Feb 9, 2020
    Posts:
    18
    In your previous statement, it looks like you need explaining about the limitations of ssgi, otherwise you would've known that it's not a big flaw by unity if ssgi gives a whole scene dark when it doesn't hit any light in the screen and you set the fallback to none.
     
  14. mush555

    mush555

    Joined:
    Feb 4, 2020
    Posts:
    23
    I think so, too.
    Lumen properly darkens closed spaces, even when the directional sun is in the scene.
    Unity's SSGI is bright even with all windows in the room closed.
     
  15. Direful

    Direful

    Joined:
    Feb 9, 2020
    Posts:
    18
    First, you need to know more about how to use unity's ssgi.
    The reason why you are getting bright room in a 100% closed room is because you dont change the default ssgi fallback (which is "reflection probes and sky"), so to fix it you can either choose "none" or "reflection probes" (but if you select reflection probes, then you need to configure all the available reflection probes in the scene to make sure that everything is positioned correctly and only affect the surrounding area. You also need to control the indirect lighting override volume to make sure that your reflection probes intensity is not set to 0).

    The reason why unity's ssgi or any ssgi in any engine gives no light (whole scene dark) is because no lights are present in the view and doesn't use any fallback method (in the case of unity, the fallback is set to none) or the fallback also fails to capture the light.
     
  16. mush555

    mush555

    Joined:
    Feb 4, 2020
    Posts:
    23
    I don't speak English so I don't know if I understand everything,
    When Ray miss is set to none, the scene looks very flat and poor,
    and the result is hard to say GI.

    I also know that selecting "reflection probes and sky" and placing it will improve it a bit,
    It's simply a tedious task and loses time.
    Lumen does not need such work.
     
  17. valarnur

    valarnur

    Joined:
    Apr 7, 2019
    Posts:
    440
    One example when you use Lumen. Look at the floor. You can see an invisible rectangular grid with circular shadows on vertices. So I got impression that Lumen is infinite realtime light probe volume which calculates lightmass almost instantly.
    Unity could use modified APV with some RXTGI/SSGI and solve realtime GI.

    s1l8.JPG
     
  18. Deleted User

    Deleted User

    Guest

    If i remember correctly there was no indirect lighting even if i was looking in the well lit area with SSGI maybe it's a bug... Also when u set fallback to just sky, the whole scene has skylight without any visible indirect interior lighting, as if it's missing all the rays... I don't think SSGI is supposed to be like this.. it must not change the complete look of the scene and make it look overblown or dark depending upon the fallback.... It only gives great results with reflection probes
     
  19. Direful

    Direful

    Joined:
    Feb 9, 2020
    Posts:
    18
    Selecting "reflection probes and sky" makes indirect lighting biased and not realistic because you enable flat sky light to apply in any condition wether it is a 100% closed room or not. Despite the "bad" looking lighting that you get from setting the fallback method to "none", it's still a lot more accurate than selecting the "reflection probes and sky" especially when you are dealing with closed rooms or a scene that doesn't let a lot of lights to get in.

    The reason why the scene looks very flat and poor depends on a lot of factors and it's very hard to know exactly what causes it but most often it's because the light and emissive objects that are not in the screen or maybe it's just the low quality textures (as in how realistic the textures are and not just the texture resolution). If you don't share your scene setup it's very hard to know exactly what causes it and im sure this will be off-topic.

    Sorry i don't quite understand with that lit area.

    Enabling "sky" or "reflection probes and skylight" is not really an accurate way to get indirect lighting because it's applying a flat sky light and yes this fallback might be a confusion to some people. Although you could still get good (not accurate but good) indirect lighting if you are dealing with let's say large open terrain where there are a lot of light coming from the sky.

    https://imgur.com/a/GWaW2nN
    https://imgur.com/a/yQeUXqm
    (sry dont know how to add images, 1st time here lmao)
    If you take a look at that image and try to zoom in (i disabled the denoiser of ssgi to show you the raymarch results that i get from ssgi without any fallback) you can see there are little dots (like noise). Afaik those are coming from the sky and yes it is small but can be improved with reflection probes.

     
    Last edited: Jun 22, 2022
    Deleted User likes this.
  20. Direful

    Direful

    Joined:
    Feb 9, 2020
    Posts:
    18
    Yes they could, but will they? XD i doubt it.
    I think the current baked APV can be combined with ssgi, but of course you still need to bake the probes lol.
     
  21. mush555

    mush555

    Joined:
    Feb 4, 2020
    Posts:
    23
    If I need to manually place a lot of fake lights to restore the look,
    it means that the engine isn't doing GI work.

    Most GI engines look great even in gray boxes. I tested Lumen in a blue-only room scene, but it didn't look poor.
    Cornell boxes are not textured, but are often used for quality testing of rendering engines.
     
  22. Deleted User

    Deleted User

    Guest

    Thanks for the explanation :) i appreciate that!!
    What I meant was that setting SSGI fallback to none, the scene looks flat out black( with only direct lighting) with none to very subtle indirect lighting even when there is light on the screen just as you observed in your scene... On the other hand unreal's SSGI works as expected... Reflection probes fallback can give close to lightmap level quality but u need more reflection probes and know how to place them properly
     
    Direful likes this.
  23. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    SSGI seems to do something:

    SSGI ON
    render with.png

    SSGI OFF
    render without.png

    SSGI ON (debug)
    debug with.png

    SSGI OFF (debug)
    debug without.png
     

    Attached Files:

    Qleenie and blueivy like this.
  24. jjejj87

    jjejj87

    Joined:
    Feb 2, 2013
    Posts:
    1,117
    When I said money, I didn't mean just "salary". I meant what the job offers in return - renumeration, work environment, etc. Basically what you get for working. Just take it in as a broad term.
     
  25. valarnur

    valarnur

    Joined:
    Apr 7, 2019
    Posts:
    440
  26. Direful

    Direful

    Joined:
    Feb 9, 2020
    Posts:
    18
    Uh i kind of made it to look like that on purpose in my images because i want to show you where the raymarch results are in 1 frame if there is no light except the ones from the sky which is of course doesn't look good since there is only sky light, denoiser disabled, and no fallback method.

    https://imgur.com/a/HHynqry (I think this is the case that happened to you but if not then idk)
    You could fix it (break it if you're not careful xD) by increasing up the rays amount and adjusting the ssgi depth tolerance and indirect diffuse intensity from the indirect lighting controller.

    I probably wouldn't call it lightmap level quality though but yeah it does look good and yep more reflection probes are really just pain XD.
     
    Last edited: Jun 23, 2022
    Deleted User likes this.
  27. mush555

    mush555

    Joined:
    Feb 4, 2020
    Posts:
    23
    We are discussing when Ray Miss is set to None.
    Is this image made with that setting?
    Also, if the front of the room is half or fully closed,
    does the interior of the room darken depending on the amount of closure? (Without additional work)
     
  28. Direful

    Direful

    Joined:
    Feb 9, 2020
    Posts:
    18
    You don't always need to use reflection probes if you want to get good results with ssgi . Any SSGI will give that dark look if there is no fallback method used, even the one used in Blender's EEVEE. The core concept of ssgi is basically no light in view = no gi. If no light in view has GI with ssgi then it's using a fallback method.
    You are comparing Lumen to SSGI. Lumen is not limited to screen space and it also use SSGI for fallback in case the world-space GI failed, so you get why it's not comparable right? If you compare unity's ssgi to unreal ssgi or blender's EEVEE ssgi then sure it's comparable but still try putting very few light in view screen and you see that they give similar results (excluding the use of fallback methods).
     
    Last edited: Jun 23, 2022
  29. mush555

    mush555

    Joined:
    Feb 4, 2020
    Posts:
    23
    That's right.
    I want Unity's SSGI to improve to "SSGI + some method mix" like Lumen,
    or to some original method(which doesn't require a lot of manual work) by Unity Dev.

    Is there any reason you want to continue using Unity's limited SSGI?
     
  30. Deleted User

    Deleted User

    Guest

    use reflection probe fallback to get the results u want instead of placing additional lights to fake it.... You can also use ray tracing if u want....
     
  31. Deleted User

    Deleted User

    Guest

    Yes that's what i was talking about and I don't think its correct because at ultra u get the same results!! Increasing rays isn't an option because than performance would suck a lot and I think that the Indirect intensity slider would also boost the artifacts caused by SSGI
     
  32. Direful

    Direful

    Joined:
    Feb 9, 2020
    Posts:
    18
    Yeah well you're quite unlucky because that is something that unity does not take a lot of consideration currently (atleast as of now there is no news on that). Keep in mind that you dont need lumen-like GI for your graphics to be, well as good as lumen. If the manual work is that big of a deal then idk how to help you, because good graphics in unity takes more than just a push of a button.
    Yes, because performance is better and gives good indirect lighting if you take the effort into it. Do i want unity to improve the GI solution? Absolutely. But i dont expect them to do it very soon, because well, currently they are focusing on the baking system like APV.
     
    Last edited: Jun 23, 2022
  33. Direful

    Direful

    Joined:
    Feb 9, 2020
    Posts:
    18
    Haha that was my first experience of using Unity's SSGI.
    To fix it you must also increase the depth tolerance and not just the rays amount. If that still doesn't work then there might be other settings that you are not configuring right.
    Unity's SSGI is not exactly the same as unreal's but both of them are ssgi so they will give similar results.

    Here's the result of ssgi both in unreal and unity.
    https://imgur.com/a/YZbpeU6
    (still not sure why everytime i insert image it doesn't work)
    You can see that both of them give similar results and they both look great but it just takes a bit more effort to adjust the settings in unity's ssgi.
     
    Last edited: Jun 23, 2022
    Deleted User likes this.
  34. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    My pics above are all default settings. No RT. It's just SSGI as-is with correct exposure and a cubemap. It's fully dynamic. If I have time of day I can choose between APV or the cubemap, or a mix. And that's the smart way to get it running on old hardware like a 980 at 30fps @ 1080p.

    For my 2070S it's 60fps @ 4K with generous upscale, and room in the budget for more toys. Not saying it's ultra optimised or anything (Unity could improve the perf and I hope they do), but it is usable and it is a solution for some scenarios.

    Also wtf is with setting SSGI fallback to "none" - who would ever do that? probably for custom fallbacks. None is like ripping half of lumen's fallbacks out and looking at some kind of turd left over. You need fallbacks, even non RT ones are fine like default setting.

    Honestly - really open for a proper solution from Unity but SSGI is a nice option in the toolbox. Do want to see more though from Unity as it is somewhat lacking compared to a lot of solutions even by (admittedly very talented) indies.
     
  35. jiraphatK

    jiraphatK

    Joined:
    Sep 29, 2018
    Posts:
    300
    I am waiting eagerly for apv to mature a bit so it become viable solution for fall back.

    Reflection probe fallback is not that good
    While Raytrace fallback use too much resources.
    APV is kinda in the middle here but it is painful to work with because you have to bake it together with the lightmap. At that point why not just use light mapping itself right?

    I'm talking about indoor scene ofc. Outdoor scene, ssgi is already good enough as it is rn.
     
  36. Arnon

    Arnon

    Joined:
    Jun 28, 2014
    Posts:
    3
    Some nuggets to clarify some things that seem to not be well understood in some comments here:
    1) Lumen doesn't care what is used to trace rays (that's how it's able to have multiple back-ends for that part of it).
    2) Lumen uses a hybrid of world space and screen space kind of tracing at different phases of it's operation.
    3) There's no such thing as "RTGI", there's various different approaches to GI, some of which use RT in different ways.

    1) Tracing modes:
    The "software mode" used compute shaders that ray-match an SDF representation of the scene that is very simplified. So it doesn't really matter how heavy the original scene is, it's almost like it gets voxelized at a fixed 3D resolution.
    The source geometry density almost doesn't matter as it never actually gets traced against directly.
    The "hardware mode" uses graphics API's raytracing features, so needs DX12/VulkanRT. It traces against the source geometry itself (at some LOD) but again not directly, but trough acceleration structures (BVH) that effectively drops down the amount of geometry that actually gets traced against at a logarithmic scale. So still not too hampered by geometry.

    But all the novelty and genius of Lumet itself has nothing at all to do with any of that...
    It's all at a higher level than that AFTER the result of the tracing is available (done by whatever means).

    Which leads to...

    2) Hybrid World + Screen:
    Lumen has 2 phases: The first collects irradiance for probes laid-out in world-space at a regular grid.
    The second starts from probes that are laid out adaptively close to the surfaces on screen (using the G-buffer).
    The tracing that happens at the second phase queries the results of the first phase.

    None of that has anything to do with ray tracing happening in software vs. hardware, or whether dedicated RT-hardware is used or not.

    Which leads to...

    3) "RTGI" vs. Lumen:
    Even once all GPUs in existence have hardware ray-tracing, there would still be use for what Lumen is doing, as what it is fundamentally is: "A scheme of adaptively catering the placement of where tracing happens to what's on screen and it's geometry" - no RT hardware support will ever nullify that benefit. It'll just mean that it's "hardware mode" will be used as it's default back-end more regularly.

    So, not. There won't be an "RTGI" that would "replace" Lumen. There would just be competing approaches to GI, just like there are today.
     
  37. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
  38. Arnon

    Arnon

    Joined:
    Jun 28, 2014
    Posts:
    3
    Well, any "real" option always come with limitations and downsides (#NoSilverBulett).
    Anyone who says they've come across something that has only benefits and no downsides, is being either naïve or disingenuous.
     
  39. neoshaman

    neoshaman

    Joined:
    Feb 11, 2011
    Posts:
    6,493
    Aye! RTGI is a homonyms, RT can mean either real time or ray trace, I got confused reading that for a while lol. I'll be sure to make that distinction in the future lmao.
     
    Ruchir likes this.
  40. jjejj87

    jjejj87

    Joined:
    Feb 2, 2013
    Posts:
    1,117
    Well, given the recent news of mass layoffs, I think we can assume that it is a money problem.
     
  41. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    21,190
    Reporting sources made it sound worse than it was (not that losing your job isn't a negative thing). Only about 4% of their employees were laid off and out of that half of them were rehired into other jobs at Unity.

    What is happening is a combination of: (a) the stock tanking due to changes in ad policies at Apple, (b) the current recession, (c) the recent merger. I've linked references to the latter two below but it's trivial to look up information on layoffs happening due to them. It's just that common for large businesses.

    https://www.investopedia.com/ask/an...cquisition-mean-target-companys-employees.asp
    https://www.cnet.com/personal-finan...know-about-layoffs-debt-and-your-investments/
     
    Last edited: Jul 27, 2022
  42. jjejj87

    jjejj87

    Joined:
    Feb 2, 2013
    Posts:
    1,117
    If you are trying to say that all this is happening as a regular business cycle of mega corps, then it is not. They are clearly having money problems...also the stock tanked way before Apple ad changes. So, while it probably did not help, it probably wasn't the cause either.

    But then again, I am not a stock expert, so I digress.
    The issue of HDRP team much smaller than one expects is an issue.

    Hence why the Unity counter part of Unreal's Lumen is MIA.
     
  43. valarnur

    valarnur

    Joined:
    Apr 7, 2019
    Posts:
    440
    I watched this of SIGRAPPH. Is this GI approch of caching the trend for the best performant GI without RT and lightmaps ?
     
  44. valarnur

    valarnur

    Joined:
    Apr 7, 2019
    Posts:
    440
    blueivy and Ruchir like this.
  45. impheris

    impheris

    Joined:
    Dec 30, 2009
    Posts:
    1,667
    clearly, unity's version looks better. Maybe you need to tweak and work more on it
     
  46. UnityLighting

    UnityLighting

    Joined:
    Mar 31, 2015
    Posts:
    3,874
    I have been making and rendering trees in UE 5 and Unity for a few months
    The result of my work is that the main reason for the beauty of trees in unreal engine 5 is the indirect shadows
    You can bake direct shadow or use AO post effect inside unity to make volumetric and realistic renders.
    Indirect lighting is not too much important
    Also today with a high end GPU you can bake in minutes your large scenes.
    Also don't forget that the lumen's quality is not comparable with the baked lighting
    So you can bake Ambient lighting then use realtime sun light to have a nice renders

    Read more here...



    Unity has much better and cleaner render. UE is completely blur in default render
    4.png

    Lumen ON vs OFF:

    Lumen_OnVSOff.gif
     
    Last edited: Dec 29, 2023
    Ruchir likes this.
  47. Rastapastor

    Rastapastor

    Joined:
    Jan 12, 2013
    Posts:
    589
    Difference is...UE is real time so its normal there are some tradeoffs between quality and performance.

    Unity is baked and u have to wait 3 milion years to bake light in open world environment :).
     
  48. UnityLighting

    UnityLighting

    Joined:
    Mar 31, 2015
    Posts:
    3,874
    I have baked my lighting in 1 minutes using RTX 3060 ti and 50 tree models in high resolution
    You can bake it using 4080 ti in seconds

    Also realtime path tracing is coming to see the final result in realtime preview of lightmapping before bake

    Real-time preview of Baked GI in Editor
    For quick previews of baked lighting, we provide a dedicated Preview path for faster iteration on baked lighting data. Using the “backwards” path tracing pipeline (where light paths are generated starting from the Camera) to compute lighting only for the visible parts of a scene, we enable you to preview illumination instantaneously. This feature will take advantage of hardware-accelerated ray tracing, if this is available, and will also work on non-hardware ray tracing GPUs using a compute shader fallback.

    Read more...

    If you have money, you can use Bakery RTPreview and Bakery Lightmapper
     
    Last edited: Dec 30, 2023
  49. Rastapastor

    Rastapastor

    Joined:
    Jan 12, 2013
    Posts:
    589
    Everytime u change something on the scene u have to rebake...that is a time consuming S*** that cost money :).
     
  50. UnityLighting

    UnityLighting

    Joined:
    Mar 31, 2015
    Posts:
    3,874
    You can use anything you like
    I like the quality of Unity lightmapper...