Search Unity

Questions about large scene streaming (Megacity video in Unite LA)

Discussion in 'Entity Component System' started by Kichang-Kim, Nov 9, 2018.

  1. Kichang-Kim

    Kichang-Kim

    Joined:
    Oct 19, 2010
    Posts:
    1,012
    Hi, I have some questions about large scene streaming technique, introduced in Megacity video (
    )

    1. Hierarchical culling
    It said that Megacity uses ECS for hierarchical culling technique so massive objects can be very quickly. Is this means that Unity will open internal culling pipeline to user for custumizing it? (like new Scriptable Render Pipeline) or simply turn on/off renderer manually from script?

    2. Lightmap
    When creating large scene, baked lightmap can be problem especially if scene has massive objects. In my current project, I solved this by dividing entire scene into sub-scenes. But It seems that Megacity sample has only one scene. How Megacity handles lightmap?

    3. Streamed LOD
    At 06:39 of Megacity video, the buliding prefabs looks asynchronously loaded even in Editor mode. Is this Unity's built-in LOD system? or manually written via ECS (if so, can you provide breif algorithm)?

    Thanks.
     
  2. eizenhorn

    eizenhorn

    Joined:
    Oct 17, 2016
    Posts:
    2,685
    Watch Day 2 sessions which describes all of this. Mike - LOD and Culling, Fabrice Lete and Simon Mogenses - Streaming and Serialization and other.
    Every building is sub-scene (~200k objects in sub-scene) and this describes in Day 2 Sessions too.
     
    Last edited: Nov 9, 2018
    Kichang-Kim likes this.
  3. Kichang-Kim

    Kichang-Kim

    Joined:
    Oct 19, 2010
    Posts:
    1,012
    @eizenhorn
    Oh, I completely missed full livestream. Thanks.
     
  4. konsic

    konsic

    Joined:
    Oct 19, 2015
    Posts:
    995
    Is Megacity going to be released for 2019.1?
     
    learc83 likes this.
  5. MostHated

    MostHated

    Joined:
    Nov 29, 2015
    Posts:
    1,235
    dzamani likes this.
  6. saluk

    saluk

    Joined:
    Aug 6, 2013
    Posts:
    4
    Super cool. Took a while to download and open, and it's pretty slow to move around and make edits. Also, the performance doesn't seem to be quite what I was expecting. I get dips all the way down to 16fps. I didn't make a build yet, so I assume there is a ton of debug stuff that is going on. Still, very nice. The detail is redonk.
     
    antey3094 likes this.
  7. MostHated

    MostHated

    Joined:
    Nov 29, 2015
    Posts:
    1,235
    Rule #1, never gauge performance by what you see in the editor.
    Rule #2, see Rule #1.
     
  8. Ziplock9000

    Ziplock9000

    Joined:
    Jan 26, 2016
    Posts:
    360
    In my game I currently have dozens of complex building prefabs with full interiors on a large terrain so that both are visible simultaneously (ie, you don't have a seperate scene for the terrain versus the interior of a particular building. I would like to make those buildings sub-scenes to increase performance in the editor and possibly at run-time, especially being able to bake them separately from each other as shown in the megacity demo. Some of the objects that make up the buildings themselves have lots of different monobehaviours for scripts, calling Lua AI, object hover outline etc.
    However I'm using the standard pipeline and monobehaviours in 2018.3

    So I'm I right in thinking I can't take advantage of sub-scenes unless I move to ECS and 2019?
     
    Last edited: Mar 20, 2019
  9. MostHated

    MostHated

    Joined:
    Nov 29, 2015
    Posts:
    1,235
    You could still take advantage of asynchronously loading scenes as needed. That has been in Unity and working well for quite some time. I have been using World Streamer for that which lets you async load/unload terrains, buildings, building interiors and what not on a layered basis if you wanted to. To actually use this newer system though, it requires ECS as part of it involves loading things within a separate world first then moving it over to your main world.
     
    Ziplock9000 likes this.
  10. Ziplock9000

    Ziplock9000

    Joined:
    Jan 26, 2016
    Posts:
    360
    Ah so it does use ECS.. ok, thanks for the clarification.
    I really wanted the subscene implementation, not the loadsceneasync for additive scene which I've used before.