Search Unity

Resolved What are the methods of achieving real-time indoor lighting today?

Discussion in 'Global Illumination' started by Sezze, Jan 3, 2021.

  1. Sezze

    Sezze

    Joined:
    Dec 28, 2017
    Posts:
    4
    Hope the question isn't too broad or common, I've had no luck finding up-to-date information for my use case however.

    I've provided the picture below as an example. It has two issues.
    1. It's too bright inside.
    2. The surfaces reflect the outside world.
    My use case:
    I would like to have a larger world where the player can place down objects, including structures. In these structures I would like to have better lighting than in the picture below.

    With reflection probes I was able to remove the interior reflections, is this the only way? It seems like it would be unperformant in an open world with player built structures.

    My questions:
    • Are reflection probes feasible for my use case? Are there better alternatives?
      • If I have to use reflection probes, how do I get darker interiors while keeping shadows outside not pitch black (which happens if I take indirect lighting down to 0)?
    • What issues will the future GI system solve for my use case?
    • Is screen space GI and AO at all relevant for this?
    • How would I allow for a large number of point lights indoors as well? Dynamic but stationary. Does shadow casting with updates only on demand seem reasonable?
    • What can I do today and what can I do within the next two years? (both with and without raytracing + first and third party options)
    For me right now, the reflections are the largest issue, as it makes walls look very bright at extreme angles even when in a dark room, screen space reflections don't do a very good job even if it helps.

    Thanks!


    https://imgur.com/H4FJQV9
     
    Last edited: Jan 4, 2021
  2. uMotiejus

    uMotiejus

    Unity Technologies

    Joined:
    May 13, 2019
    Posts:
    12
    Hello Sezze,

    * Regarding reflection probes. Realtime ones are expensive and should be used in sparingly. If baked reflection probes are not an option, an alternative would be to use Realtime OnDemand reflection probes, and trigger a refresh via script when objects built/placed.
    * Future of GI, it's still early to say.
    * Screen Space Global Illumination. Can be used with rasterisation or raytracing. However its not a replacement for realtime GI and often works best when there are fallbacks like baked lighting. Its an useful tool, but to be used in specific scenarios
    * Screen Space Ambient Occlusion. Same as with SSGI, a great tool also not that expensive. However it only serves a specific purpose to darken the creases, holes, intersections, and surfaces that are close to one another.
    * Large numbers of point lights and shadows. Maybe this new feature would be useful? TL:DR it allows your static lights to have dynamic shadows for some objects (dancing person) and cached shadows for others (pillars)
    https://github.com/Unity-Technologies/Graphics/pull/1559

    I think your issue with reflections could be addressed today and the realtime indirect lighting might prove to be difficult. Hope this helps
     
    Last edited: Jan 5, 2021
    JoNax97 likes this.
  3. Sezze

    Sezze

    Joined:
    Dec 28, 2017
    Posts:
    4
    Thanks for the new mixed shadow maps, that is definitely useful. Guess I'll go with reflection probes + screen space effects for now. If anyone else has any tips I'm still interested.
     
  4. soleron

    soleron

    Joined:
    Apr 21, 2013
    Posts:
    584
    Nothing out of the ordinary really. Bake as much as you can, use screen space effects when possible, and for important surfaces that you want to use to impress (i.e. a large dinner or conference table,) use some nice planar reflections instead of the reflection probes.