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

[RELEASED] World Streamer ! Forget about your game memory usage and create big world!

Discussion in 'Assets and Asset Store' started by NatureManufacture, May 13, 2015.

  1. Sam512

    Sam512

    Joined:
    Jan 13, 2019
    Posts:
    178
    Hey,
    NatureManufacture, I would like to know if your system work with Unity default terrain and Speedtree 8? My world is 30km x 30km, so can it handle floating point issue within this size? Target platforms: PC, Xbox One, PS4
     
  2. f1chris

    f1chris

    Joined:
    Sep 21, 2013
    Posts:
    335
    I'm working on a big city but with no terrains. First, not sure what size to set my layers. Tried different values from 50 to 500.

    Second, in gameplay scene, I think i should not use the Major prefab but only Minors. Is it the only different if not using terrain ?

    thx
     
  3. razzraziel

    razzraziel

    Joined:
    Sep 13, 2018
    Posts:
    395
    why 2.0 took so long? some obstacles?
     
    awesomedata likes this.
  4. chrisk

    chrisk

    Joined:
    Jan 23, 2009
    Posts:
    704
    Hi, it's been long since you mentioned about having the dedicated team working on the Streamer 2.0. I'm beginning to worry about the silence. Please let us know what you have in mind even if it's still on the drawing board. I'm really curious what direction 2.0 is heading. Thanks.
     
  5. tredpro

    tredpro

    Joined:
    Nov 18, 2013
    Posts:
    515
    So cts 2019 works in 2018.4. Will WS 2019 be the same in that aspect or will I need to upgrade to unity 2019?
     
  6. Skotrap7

    Skotrap7

    Joined:
    May 24, 2018
    Posts:
    125
    Just bought this. Love it. However, I'm using Terrain Composer 2 and when I set the prefix for the terrain tiles it doesn't find them because they are nested in another game object called "Terrain Area." To get this to work I copy/paste the terrain tiles out of that game object and everything works fine, however, this is a bit of a pain when updating/changing details around my height/splat maps. Any tips on how I can get the scene splitter to search within the children of a game object for the terrain tiles so I don't need to do this copy/paste step?
     
  7. razzraziel

    razzraziel

    Joined:
    Sep 13, 2018
    Posts:
    395
    Thats easy. Just attach ObjectsParent script to parent object and write its prefix name on that components string field.

     
  8. Skotrap7

    Skotrap7

    Joined:
    May 24, 2018
    Posts:
    125
    Thanks much!
     
  9. awesomedata

    awesomedata

    Joined:
    Oct 8, 2014
    Posts:
    1,419
    It's been since July -- anything new with 2.0?
     
  10. razzraziel

    razzraziel

    Joined:
    Sep 13, 2018
    Posts:
    395
    Last edited: Oct 11, 2019
    awesomedata likes this.
  11. NatureManufacture

    NatureManufacture

    Joined:
    May 20, 2014
    Posts:
    2,023
    It's at last straight into test and release:) we search for bugs etc:)
     
    awesomedata and razzraziel like this.
  12. awesomedata

    awesomedata

    Joined:
    Oct 8, 2014
    Posts:
    1,419
    This, and hexagonal grids?

    Seems like hexagonal grids would make the "ring streaming" concept work a lot better, with less resources necessary to be loaded from any particular position. Is this grid type possibile in 2.0, @NatureManufacture ?
     
    Last edited: Oct 14, 2019
    razzraziel likes this.
  13. Shadex

    Shadex

    Joined:
    Dec 18, 2013
    Posts:
    89
    Quick question. I'm using the new terrain in 2019.x. I have a single 2048x2048 terrain. I realize i'm going to need to use world streamer to hit my target FPS. I have 4-5 more 2048x2048 terrains i will need to make. your instructions only really cover making the entire map, then spliting it. Is there a way to split up my 2048x2048 terrain that is finished, and add terrains as i make them? I don't plan on using Gaia, as i plan to custom make the terrain (then through veg pro over it).

    TLDR: How do i add terrains to streaming world without having to create the whole streaming world at once?
     
    awesomedata likes this.
  14. NatureManufacture

    NatureManufacture

    Joined:
    May 20, 2014
    Posts:
    2,023
    Hex grid calculation would be expensive.
    Yes you can add more terrains or split them, merge anytime. We simply export data into scene and call to load scenes.
     
  15. Shadex

    Shadex

    Joined:
    Dec 18, 2013
    Posts:
    89
    thanks for the reply. That should make life much easier.
     
  16. awesomedata

    awesomedata

    Joined:
    Oct 8, 2014
    Posts:
    1,419
    Let me correct you there -- "True hex grid calculation would be expensive."

    The way they do it in Spiderman to recreate New York (and other games I'm sure) is that they simply pinpoint a square on a particular grid size and ignore the corners of the square by offsetting another square by a fixed distance in one of the 6 directions. The long and short of it is that they essentially ignore the corners of a square to get a "hex" grid.

    This allows them to generate imposters for distant city elements to keep a really good draw distance. Speaking of which -- Are imposters going to be supported in 2.0?
     
  17. razzraziel

    razzraziel

    Joined:
    Sep 13, 2018
    Posts:
    395
    yeah he's referring to this:



    Streaming part @15:10
     
    Last edited: Oct 16, 2019
  18. kepesh

    kepesh

    Joined:
    Dec 29, 2017
    Posts:
    92
    Hi,
    Before I purchase WS I would like to know if there's any att all hickups when loading and de-loading cells? Each cell will probably have a lot of gameobjects with LOD's etc.
     
  19. NatureManufacture

    NatureManufacture

    Joined:
    May 20, 2014
    Posts:
    2,023
    It only depends on you what you load/unload. If you push too much at 1 time one pc will be ok but with slow ram and cpu will have small lag. It's up to user to adjust amount of data that it's target platform can load at once even if its async. 3d models are not so heavy, rather ig terrain objects must be streamed smartin smaller chunks
     
  20. kepesh

    kepesh

    Joined:
    Dec 29, 2017
    Posts:
    92
    Is there a way to spread the loading across multiple frames?
     
  21. NatureManufacture

    NatureManufacture

    Joined:
    May 20, 2014
    Posts:
    2,023
    Everything is async there so yeah you got this out of the box, also you have delay times to set if you want to separate loading into longer time.
     
  22. kepesh

    kepesh

    Joined:
    Dec 29, 2017
    Posts:
    92
    I bought the asset and I have one question: Why do I need to unparent all objects? Can't the scrip check the world position instead of the local one?
     
  23. NatureManufacture

    NatureManufacture

    Joined:
    May 20, 2014
    Posts:
    2,023
    You can use parents - there is work demo scene where you can use objecjs in folders
     
    kepesh likes this.
  24. tredpro

    tredpro

    Joined:
    Nov 18, 2013
    Posts:
    515
    What is the process to add multiple split scenes though? I have 2 split scenes (2 work scenes)that I want to be both loaded in the game scene at runtime? I'm guessing i would combine the scene collections but I dont see it built into the scene splitter
     
  25. NatureManufacture

    NatureManufacture

    Joined:
    May 20, 2014
    Posts:
    2,023
    Scene splitter is used to split scenes into grids.
    Streamers at game scene are used to load scenes when game starts. Please check our demo scenes for that.
     
  26. tredpro

    tredpro

    Joined:
    Nov 18, 2013
    Posts:
    515
    Yes I know this. The scene splitter creates the collections right? let me clarify. I have a looping terrain but cant all the terrains in that scene. So how do I expand upon the already created terrain collection to add the rest to that collection and adjust the the values because I believe the collection is more than a list right?
     
  27. NatureManufacture

    NatureManufacture

    Joined:
    May 20, 2014
    Posts:
    2,023
    Local scene updater is used to load part of the world and expand/work on it, resize without holding everything at once. Not sure if that was your question,
     
  28. kepesh

    kepesh

    Joined:
    Dec 29, 2017
    Posts:
    92


    The first test and got this insane lag when entering new cells. How do I get rid of this lag?
    It's the same in a build. I had so much better performance without World Streamer
     
    Last edited: Nov 18, 2019
  29. NatureManufacture

    NatureManufacture

    Joined:
    May 20, 2014
    Posts:
    2,023
    There are many things that could generate this - for example heavy terrains or just because it's editor not build. Such values say nothing without test of each layer at build. Thats why we mark this tool as for advanced users, it need a bit of knowledge about how much and when what data should be loaded. Engine version also have huge impact on streaming: example instanced unity terrain 2019+ with id group stitch automaticly terrain lods with. Our scripts is not neccesary for that anymore, this remove huge fps drop.

    I suggest to test each layer step by step - at first step only terrain.
     
    Last edited: Nov 18, 2019
  30. kepesh

    kepesh

    Joined:
    Dec 29, 2017
    Posts:
    92
    It's not even terrain. I only have rocks, bushes and cliff prefabs in each cell. And it's divided by small, medium and big cells. Each cell maybe have 20 objects each in them.
     
  31. NatureManufacture

    NatureManufacture

    Joined:
    May 20, 2014
    Posts:
    2,023
    You dont stream terrain at all? If cpu must check huge amount of objects to load/unload data at scane this generate spikes. Im almost sure it's terrain.
     
  32. kepesh

    kepesh

    Joined:
    Dec 29, 2017
    Posts:
    92
    I have a terrain but it's not streaming. I only stream meshes with World Streamer:


     
  33. NatureManufacture

    NatureManufacture

    Joined:
    May 20, 2014
    Posts:
    2,023
    Why you dont have all scenes in build settings? This will throw errors and lag your editor. You have any errors warnings in console during loading?
     
  34. kepesh

    kepesh

    Joined:
    Dec 29, 2017
    Posts:
    92
    I had all scenes in build settings when testing, but when I noticed the poor performance I removed them and started resetting everything to the way it was before.
     
  35. NatureManufacture

    NatureManufacture

    Joined:
    May 20, 2014
    Posts:
    2,023
    Turn off/remove terrain for test and check, probably its reson because when unity load/unload scene it check everything that exist.
     
  36. tredpro

    tredpro

    Joined:
    Nov 18, 2013
    Posts:
    515
    I was under the impression if the word size grows you couldnt use local scene updater. So that does expand the collection size? I havent been it in awhile (probably a year). I feel it was runtime (may be incorrect) and if so how do I bake navmesh for it?
     
  37. NatureManufacture

    NatureManufacture

    Joined:
    May 20, 2014
    Posts:
    2,023
    Why you couldnt? you dont have to load whole world, just the border.
    Navmesh - you will have to bake area by area by loading and unloading parts via local area updater - if not possible at once.
     
  38. tredpro

    tredpro

    Joined:
    Nov 18, 2013
    Posts:
    515
    I thought I remembered when I first started using your asset a few years ago I read that unless the world size changes, you can use the local area updater.
    So since that's what I'm trying to do is why I thought it wasnt possible. Currently away which is why I havent tried anything
     
  39. tredpro

    tredpro

    Joined:
    Nov 18, 2013
    Posts:
    515
    And for example and to make sure we are on the same page...

    I'm talking world scale size adding more terrain into the loop so size of terrain goes from 2000x 2000 to 4000x4000.

    If so that's great news!! Lol
     
  40. NatureManufacture

    NatureManufacture

    Joined:
    May 20, 2014
    Posts:
    2,023
    yes, local area updater can expand world like that
     
  41. awesomedata

    awesomedata

    Joined:
    Oct 8, 2014
    Posts:
    1,419
    @NatureManufacture :

    Can WorldStreamer be used to show/hide scenes in the Editor too, for example, while editing them?

    Also, are there any new features like this planned for when the next version comes out?
    Speaking of that, is there any timeframe for the new version yet?
     
  42. NatureManufacture

    NatureManufacture

    Joined:
    May 20, 2014
    Posts:
    2,023
    Yes local area updater is exacly for such goal it also allow to work on 1 world by multiple devs as each loaded own part of the world.
     
  43. awesomedata

    awesomedata

    Joined:
    Oct 8, 2014
    Posts:
    1,419
    What is the current workflow for this? -- I've not seen anything in the tutorial videos, and I've not checked the documentation in a really long time.
     
  44. NatureManufacture

    NatureManufacture

    Joined:
    May 20, 2014
    Posts:
    2,023
    Please
    A) Check video tutorial. Yes there is video about it.
    B) Check documentation for more info.
     
  45. awesomedata

    awesomedata

    Joined:
    Oct 8, 2014
    Posts:
    1,419
    Sorry for the confusion, but that's not what I was asking. I wanted to know if WorldStreamer updated the floating origin in the Unity Editor itself. For example, while moving around, so that it would load/unload distant scenes automatically while editing them.
     
  46. NatureManufacture

    NatureManufacture

    Joined:
    May 20, 2014
    Posts:
    2,023
    Only at playmode.
     
  47. awesomedata

    awesomedata

    Joined:
    Oct 8, 2014
    Posts:
    1,419
    :'(

    RIP MegaCity... Ye set so many expectations...
     
  48. kdgalla

    kdgalla

    Joined:
    Mar 15, 2013
    Posts:
    4,616
    I haven't run the MegaCity build in a long time, but it didn't strike me as being big enough to need a floating origin. :confused:
     
  49. awesomedata

    awesomedata

    Joined:
    Oct 8, 2014
    Posts:
    1,419
    Lol, indeed -- but it SHOULD be. :)
     
  50. NatureManufacture

    NatureManufacture

    Joined:
    May 20, 2014
    Posts:
    2,023
    In unity roadmap there is playmode editing but...:D