Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

Question What's the best solution for Additively loading terrain segments in an expandable world?

Discussion in 'World Building' started by hypnoslave, Dec 26, 2022.

  1. hypnoslave

    hypnoslave

    Joined:
    Sep 8, 2009
    Posts:
    436
    Hey all, I've got a number of concerns regarding performance for building open world systems, and although I'm seeing lots of cool tools and nice artwork, all I'm really seeing is beautiful shots of highly detailed segments that are loaded together. Consider something like Breath of the Wild though - there's no way that map is a single terrain piece loaded together, and yet you can walk over all of it seamlessly.

    What is an actual pragmatic, functional way to build and manage something like this? Multiple scenes, each with their own terrain segment? If so, surely there are massive issues with seams? Secondly, LODs for these terrain segments would need to be generated and saved to LOD scenes, I assume? which would probably present even more seam issues?

    Conversely, is Unity terrain SO well optimized that a BOTW style base terrain could be loaded into memory in a single scene, with only custom geometry and details loaded additively over top depending on distance? Is there a in-between system that can additively load terrain data in and out of a scene based on your position on a large terrain?

    I'm not aware of anyone who has documented a really good, grounded, pragmatic workflow for this kind of thing that actually deals with what I assume are hard problems getting large amounts of content running on low-end systems. Surely this must exist? Can someone point me in the right direction?
     
  2. ShilohGames

    ShilohGames

    Joined:
    Mar 24, 2014
    Posts:
    3,015
    You can design your own system using additive scene loading or use one of the readily available solutions. Look at Gaia Pro 2021, SECTR, or World Streamer 2. I am currently using Gaia Pro 2021 in one of my projects to design the large terrain, slice it up, and then automatically load and unload sections at runtime. It works pretty well, and could be used to build an open world game similar in size to Zelda Breath of the Wild.
     
    hypnoslave likes this.
  3. hypnoslave

    hypnoslave

    Joined:
    Sep 8, 2009
    Posts:
    436
    Thanks very much for the comment, I'll take a look!
     
  4. mick129

    mick129

    Joined:
    Jun 19, 2013
    Posts:
    228
    For my game Brinefall I use Easy Open World, it is really easy to use and efficient at what it does.

    My world is mostly 19Km by 19Km and it's really smooth, also tested by a lot of players. Here is how it looks in the editor.
    Note that I have tested World Streamer, Gaia Pro and SECTR. For me, it was the best solution and the easiest to use.

     
  5. hypnoslave

    hypnoslave

    Joined:
    Sep 8, 2009
    Posts:
    436
    that's awesome! thanks for the tip! :D
     
  6. joshcamas

    joshcamas

    Joined:
    Jun 16, 2017
    Posts:
    1,276
    DrMeatball and hypnoslave like this.
  7. hypnoslave

    hypnoslave

    Joined:
    Sep 8, 2009
    Posts:
    436
    that's awesome, thanks Josh!
     
    joshcamas likes this.