Search Unity

Open World -- Lightmapping / Occlusion Culling -- (Workarounds for HUGE worlds?)

Discussion in 'World Building' started by awesomedata, Apr 6, 2021.

  1. awesomedata

    awesomedata

    Joined:
    Oct 8, 2014
    Posts:
    1,419
    I have four questions about the Lightmapping and Occlusion Culling "baking" process:

    1. What if the best machines _can't handle_ opening all my scenes (at once) to bake data?

    2. Is there anything in progress to address "baking" issues for stupidly huge worlds?
      (i.e. doing it in the background on a file-by-file basis or something, using DOTS?)

    3. What about my world being floating origin? -- Will this affect baking / positioning?

    4. Is there any way I can force my newly loaded scenes to load from a different origin point?
      -- In other words, I have shifted my origin (floating origin) and want to open a new scene to load it offset from the original origin depending on a particular grid size (while keeping distant LODs visible for great draw-distances), but to do this, I need Unity somehow considering the new origin position of the world in order to keep my distant LODs visible so I don't have to move those too (think BotW).

    5. Are there any workarounds / steps available to bake Lightmapping / Occlusion Culling data right now?


    These questions have been a thorn in my side for YEARS.
    See the post below for more insight into this issue:

    https://forum.unity.com/threads/occ...rt-for-occlusion-culling.451522/#post-7007717

    Please pass this question on to someone who will be able to answer it.
    Thank you.
     
    Last edited: Apr 6, 2021
  2. mick129

    mick129

    Joined:
    Jun 19, 2013
    Posts:
    228
    I'm my case I really work to get some realistic light and I tend to not bake anything. For the best light I tend to use Upgen that will give you some really good light at runtime without baking anything.
    In my scene I just set all the option at "off" but turn on "auto light baking".
    For occlusion I use tools to occlude new objects at runtime too.

    Upgen: https://assetstore.unity.com/packag...ts/upgen-lighting-standard-173313?aid=mick129
    Advanced Culling System: https://assetstore.unity.com/packages/tools/utilities/advanced-culling-system-157875?aid=mick129
     
    JoeStrout likes this.
  3. awesomedata

    awesomedata

    Joined:
    Oct 8, 2014
    Posts:
    1,419
    Upgen does look like a pretty neat technique -- Sadly it's HDRP (I'm in URP), so I can unfortunately not use it.

    That said --

    This sounds like it defeats the purpose of using Upgen though, doesn't it? How do you not bake anything if you keep auto light baking on?


    Thanks. I have GPUInstancer which can double as dynamic occlusion I suppose. However, I'm probably going to have to populate its 'occlusion-map' with a list of objects/entities myself, as I'm not entirely convinced it is meant to be used the way I want to use it. However, it seems more robust (and generally-useful) than Advanced Culling System, so it might be worth it.

    The issue with culling, at least the kind of culling that needs to be baked, is the floating origin issue. I haven't heard one peep from Unity since @Joachim_Ante himself said this issue was being worked on.
    That was a few years ago.

    Any news would be wonderful on this front.




    In other news:

    Unreal is killing it with even the armchair gamer with the hype surrounding their new SSD world-streaming mechanisms. I mean, to take a model directly out of Zbrush and have it appear in the editor, anywhere, at any distance, and duplicated as many times as you like -- all without bogging anything down -- is a great selling point to the masses (if it genuinely works this way -- after all, marketing is marketing).
    Meanwhile Unity can't even load scenes much larger than the demo HDRP scene on its own. MegaCity was great, but so far, most of that technology was custom. Regular users won't be able to leverage DOTS that way, so the non-programmer's hope for making huge / open worlds is limited because the Unity Editor itself is currently limited.

    The one thing I want more than anything is to be able to develop worlds in Unity without having to worry about asset importing / optimization (except when it comes to visual decoration ofc) beyond creating the assets themselves.
     
    mick129 likes this.
  4. mick129

    mick129

    Joined:
    Jun 19, 2013
    Posts:
    228
    Upgen will have an URP version in the future, this is what holding me to switch to it.

    As for turning all baking option at off with auto-bake turned on, there is a real difference, I think it bake the skybox on the map and that it.

    Also I tend to agree with you, I have been checking Unreal for a while now because of this. I worked a lot to have 60+ fps open world in Unity and I can do it now, but how many assets did I have to buy to achieve this? With Unity's business model I feels like it is in their interest to leave some "gap" in the engine so that others can sell assets on the store, while Unreal give you a lot (they gain money when you succeed) and you can feel it in the base content given by the engine.

    I honestly wished that Unity took a 5% of the sales instead, but that is another story.
    Unreal giving Quixel for free vs Unity selling ArtEngine and insane price is a good example.
     
    Last edited: Apr 7, 2021
    awesomedata likes this.
  5. gilley033

    gilley033

    Joined:
    Jul 10, 2012
    Posts:
    1,191
    Bumping this. Using realtime lighting is obviously the best solution, but if you want to go with baking there should be more information on how to go about it, or whether it's even possible (either with a large fixed world or a floating origin one).

    It's been over two years. Other than APV's, has any other improvement been made in this area?
     
    warthos3399 likes this.