Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.
  2. Let us know your feedback about the Global Illumination changes in the 2023.2 beta.
    Dismiss Notice
  3. Dismiss Notice

Precomputed Realtime GI on bigger outdoor scene

Discussion in 'Global Illumination' started by ananta-das, Oct 19, 2016.

  1. ananta-das

    ananta-das

    Joined:
    Jan 9, 2015
    Posts:
    25
    Hi guys,

    I am sorry for posting a new thread about this, but after reading through tons of year+ old threads here and on reddit, I still haven't found any concrete answers.

    In short, our map consists of a (fairly) large terrain (about 4000x4000 units) plus many interiors. For prototyping, everything is currently inside one big scene. We are of course unable to bake lightmaps for such a big scene so we have decided to go with precomputed realtime. However, when trying to build lighting, my humble dev machine runs out of RAM, either on the 'clustering' stage (if GI resolution is set too low) or on 'light transport' stage (if we set it higher). I have seen some of the JobProcess.exe's take close to 30GB in virtual memory...

    I have come up with several options and I was hoping to get some feedback from someone who was maybe facing the same situation in the past:

    a) get more RAM - I could easily fit extra 16GB of RAM into my machine. However, after seeing the amount of memory those Enlighten jobs consume, I am a little worried that I will just run into the same problem 5 minutes later.

    b) split the scene. This is what we'll be doing later anyway, but since Unity seems to lack support for simultaneous editing of multiple terrain actors this would be a huge pain at this point in the process.

    c) abandon precomputed realtime GI altogether. There might be another way to handle dynamic lighting on large maps - perhaps something like CryEngine's realtime GI in a form of a plugin?

    d) abandon Unity altogether. The availability of fast realtime GI was one of the main reasons why we've decided to evaluate Unity in the first place. UE4's dynamic skylight is not giving us the results we are looking for and CryEngine is just one big PITA.

    Any feedback on this would be greatly appreciated!
    Thanks
     
  2. AcidArrow

    AcidArrow

    Joined:
    May 20, 2010
    Posts:
    10,936
    Use a really, really low "Realtime resolution" value (like 0.01 or less) and change the lightmap (advanced?) parameters of all the "bigger" meshes to "VeryLow".

    If that bakes, slowly start raising the realtime resolution value until you get something that you deem acceptable.
     
  3. AcidArrow

    AcidArrow

    Joined:
    May 20, 2010
    Posts:
    10,936
    Also, this doesn't make a lot of sense. Clustering takes longer if the resolution is higher and light transport comes after clustering.

    So what you're saying is that with higher precompute resolutions, you can get past the clustering phase while with lower you can't?
     
  4. ananta-das

    ananta-das

    Joined:
    Jan 9, 2015
    Posts:
    25
    Hi thanks for your replies. We have tried to play with various settings, but it does not seems like building Enlighten on a big terrain is feasible even with the lowest possible settings. However, excluding the terrain itself from the build allows it to go through and still gives a pretty good approximation.

    It seems it should be possible to iterate on our base map w/out the terrain being included and then chop the it into tiles and build each one individually later.