Search Unity

[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. NatureManufacture

    NatureManufacture

    Joined:
    May 20, 2014
    Posts:
    2,026
    Rather use dynamic navmesh systems in manual we mention few. Like apex etc.
     
    Last edited: Oct 7, 2018
  2. MarceloASG

    MarceloASG

    Joined:
    Jun 15, 2017
    Posts:
    23
    I solved the problem by using the Safe Place Prefab replacing the Mesh by a Terrain(using Google Translate)
     
  3. Jacubson

    Jacubson

    Joined:
    Jun 11, 2018
    Posts:
    6
    Could you explain workflow how to bake in parts? I have level that is about 10 x 10 km and I cant bake it at once.
    If I understand well I can load levels with use of Local Area Updater arround specified centerpoint, bake save, unload levels, move centerpoint load bake, unload?
     
  4. NatureManufacture

    NatureManufacture

    Joined:
    May 20, 2014
    Posts:
    2,026
    Yes it should be fine like that.
     
  5. desertGhost_

    desertGhost_

    Joined:
    Apr 12, 2018
    Posts:
    260
    Hi,

    I have a feature request for World Streamer version 2. For users using Unity 2018.1 and above could you include a version of the floating origin (float point fix) that utilizes the C# job system to move the transforms? I have written such a script for use in one of my projects and found that it greatly improves frame drops caused by shifting the origin on large maps.

    Thank you.
     
    ftejada likes this.
  6. NatureManufacture

    NatureManufacture

    Joined:
    May 20, 2014
    Posts:
    2,026
    Hi
    Lets wait for new terrain system and finalize ws 2.0 with it.
     
    ftejada likes this.
  7. magique

    magique

    Joined:
    May 2, 2014
    Posts:
    4,030
    @NatureManufacture In the documentation is talks about this:

    "For far distance you could use low poly meshes with baked trees"

    What do you mean by baked trees? IS there an existing solution to creating baked trees for this scenario?
     
  8. NatureManufacture

    NatureManufacture

    Joined:
    May 20, 2014
    Posts:
    2,026
    I would export trees from terrain - last lod and bake/batch into big block -1 drawcall. It's easy to create such script.We use that solution for ..... hidden our company partner. We cut about 10k drawcalls by it.
     
  9. GorkaChampion

    GorkaChampion

    Joined:
    Feb 6, 2018
    Posts:
    103
    Are you planning to add that script on World Streamer?
    I think is the point that may fail on this system. I mean the final looking (loading / unloading) it's quite all right when you are walking / driving at low altitude but if you reach a high point or use some prop to flight you see the lack of world as its far away and it's nor streamed.... Any workaround on this? Any automatic impostor solution or so?
     
  10. NatureManufacture

    NatureManufacture

    Joined:
    May 20, 2014
    Posts:
    2,026
    I would turn off small objects from streaming if you fly fast etc. i think there must be some design idea to handle this. Be sure also that new unity gpu terrain ,new gc, instancing will change alot in this area and probably solve most problems.
     
  11. MarceloASG

    MarceloASG

    Joined:
    Jun 15, 2017
    Posts:
    23
    Is there any way to make the script terrain culling system work with meshes?(Google Translate)
     
  12. NatureManufacture

    NatureManufacture

    Joined:
    May 20, 2014
    Posts:
    2,026
    Sure we used culling sferes there but for meshes i woudnt expect any fps change. We turn off terrain because it have all the time cpu usage - foliage refreshing etc.
     
    MarceloASG likes this.
  13. MarceloASG

    MarceloASG

    Joined:
    Jun 15, 2017
    Posts:
    23
    would not be to increase fps, but rather to decrease the spikes in profiler
     
  14. CFrosty

    CFrosty

    Joined:
    May 9, 2018
    Posts:
    8
    @NatureManufacture

    Sorry if this has been answered before.

    Is there a workflow for working with worlds too large to load at once?

    Right now I've been creating chunks of worlds and have noticed that when I save the newly split scenes it overwrites the existing scene collection. Do you have a tool that can add tiles to existing scene collections?
     
  15. MarceloASG

    MarceloASG

    Joined:
    Jun 15, 2017
    Posts:
    23
    Is there any asset that divides the navmesh and loads them separately?
    (Google Translate)
     
  16. NatureManufacture

    NatureManufacture

    Joined:
    May 20, 2014
    Posts:
    2,026
    Yes use local area updater. It's is for adding new tiles without loading all.
    Nope. Anyway you could use dynamic navmeshes or non-navmesh systems.
     
    MarceloASG likes this.
  17. MarceloASG

    MarceloASG

    Joined:
    Jun 15, 2017
    Posts:
    23
    Could you tell me some AI that does not use navmesh?
     
  18. Alex3333

    Alex3333

    Joined:
    Dec 29, 2014
    Posts:
    342
    You have a method or method for loading at the very beginning not one common scene but several scenes immediately after each other. I need to be able to load several scenes at the beginning before the player appears. and after the appearance everything is already through the player's streamer. How can I do that?
     
  19. imDanOush

    imDanOush

    Joined:
    Oct 12, 2013
    Posts:
    368
    @NatureManufacture Hi there.
    I wonder if you ever follow the Unity's terrain system development team? They are finally working on a GPU based *streamable* terrain system. Due to the fact that World Streamer is mainly used for terrain streaming, I would recommend you to follow the team HERE, especially the "Multiply Terrain Support" section.
    I highly recommend watching the system for the V2 of WorldStreamer. The current terrain system will be obsolete soon.
     
  20. NatureManufacture

    NatureManufacture

    Joined:
    May 20, 2014
    Posts:
    2,026
    In manual everything is explained :) but Apex A* or other. It's changing all the time at asset store.
    I fallow them and wait for it but.... :D everything new what is released by unity team usualy for few months is not usable:) I rather want to wait until version will be stable instead of doing something few times:D Specialy when it's underdevelopment. When you compare % of users which use old unity versions you will see that the market for this feature will be NONE:p for first few months;) Anyway we will support this new terrain for sure;)
     
    imDanOush and MarceloASG like this.
  21. Alex3333

    Alex3333

    Joined:
    Dec 29, 2014
    Posts:
    342
    You have a method or method for loading at the very beginning not one common scene but several scenes immediately after each other. I need to be able to load several scenes at the beginning before the player appears. and after the appearance everything is already through the player's streamer. How can I do that?
     
  22. Mad_Mark

    Mad_Mark

    Joined:
    Oct 30, 2014
    Posts:
    484
    I have been looking at this asset for quite some time. I want to purchase but have a few questions.
    1. Do I need to create one large scene and then divide it into smaller pieces with this tool? (I am making an enormous space game, millions of kilometers in size.)
    2. If so, is there some clear direction regarding how to go about doing that?
    3. If I create a series of smaller levels, do they need to be at specific coordinates in order to stitch together or just 0,0,0 ?
    4. I have a floating point origin in my game already. Do I need to use the one in this tool for compatibility?
    5. Can I create a 9 sector "grid" in 3D space where the player is in the center and stream the leading/trailing 3 sectors in/out as the player moves?
    6. Are all upgrades free?
    7. Any example levels or video instruction that implement what I am trying to accomplish?

    Thanks,
    Mark
     
  23. awesomedata

    awesomedata

    Joined:
    Oct 8, 2014
    Posts:
    1,419
    @NatureManufacture -- There are warnings with the new prefab system in 2018.3 so far. When will the new nested Prefab system will be supported?

    Would it be possible to start streaming areas of the world from inside of a nested prefab (upon loading them) and unloading each of these nested scenes/areas as one ventures away from a prefab's location?
     
  24. NatureManufacture

    NatureManufacture

    Joined:
    May 20, 2014
    Posts:
    2,026
    Nope.
    1 & 2 . No, you could work in sectors and merge them by local area updater.
    3. No, simply when 1 sector ends at 500,500,500 another should start at 500 500 500
    4.Yes, you should ours. We deeply integrate it.
    5.Yes, look at videos;)
    6. Always and code is open
    7. Yes at 1st page you got few links to tutorials etc. Difference is only you work on 3d streaming (XYZ) not 2d.(XZ)
     
  25. NatureManufacture

    NatureManufacture

    Joined:
    May 20, 2014
    Posts:
    2,026
    I think we will simply finish version 2.0 when new terrain comes and clean everything.
     
    awesomedata and Bartolomeus755 like this.
  26. Noa3

    Noa3

    Joined:
    May 29, 2012
    Posts:
    84
    old problem solved: the problem was, i got to times resetet to the 0 position after a Frame, and it brought a lot of wierd things.



    what can i do to redurce the time for moving all objects to the center? i get a huge lag evrtime, and in VR its not nice to have
     
    Last edited: Nov 26, 2018
  27. NatureManufacture

    NatureManufacture

    Joined:
    May 20, 2014
    Posts:
    2,026
    Made with world streamer. Whole town in cloud points:)

    46668663_2238812276393831_2232838276102750208_o.jpg 46516601_2238812376393821_7109422299501035520_o.jpg 46782246_2238812353060490_3864236042475274240_o.jpg
     

    Attached Files:

  28. Amvient

    Amvient

    Joined:
    Feb 5, 2016
    Posts:
    24
    Hi Team,

    Sorry for the following question:

    I wanted to know if World Streamer is similar or can be used with GPU Instancer for provide better performance.

    (I currenty have "World Streamer", but wanted to know if it can be a good idea to use both, or wont be needed)
     
  29. NatureManufacture

    NatureManufacture

    Joined:
    May 20, 2014
    Posts:
    2,026
    We didnt test it with it.
     
  30. Binary42

    Binary42

    Joined:
    Aug 15, 2013
    Posts:
    207
    @NatureManufacture
    Hey, can you please elaborate how World Streamer is compatible with RTP?
    How to generate tesslation maps per tile or use a global one for example?

    Also i cant solve a "map jumping" problem with RTP, same with CTS: when a tile jumps to origin, global textures, parallax or far for ex., are not moving with the tile and it is clearly plopping. It's easily testable within the editor, if you move the terrain around, one can observe how it moves under a fixed texture cover.
     
  31. awesomedata

    awesomedata

    Joined:
    Oct 8, 2014
    Posts:
    1,419
    Also, about the new physics world abilities Unity is adding -- is that something you're looking at integrating?
     
  32. NatureManufacture

    NatureManufacture

    Joined:
    May 20, 2014
    Posts:
    2,026
    RTP saves data at scene, it could be a bit heavy to load like that. I dont know if Tom fix that. There was few users which used rtp.

    Ah because it's UV free. i suggest to:
    - keep tile size like: Terrain size = 200 texture tile = 20 so 200/20 = 10. At the end of calculation must be rounded value.
     
  33. NatureManufacture

    NatureManufacture

    Joined:
    May 20, 2014
    Posts:
    2,026
    We will see, we still waitig for some final release with terrain etc...:)
     
    awesomedata likes this.
  34. Binary42

    Binary42

    Joined:
    Aug 15, 2013
    Posts:
    207
    Thanks!
     
  35. MoribitoMT

    MoribitoMT

    Joined:
    Jun 1, 2013
    Posts:
    301
    Hi, I have 2 questions.

    1. Does it glitch during streaming new additional scenes into current scene, I also own SECTR STREAM, it has glitch sometimes, I develop open world games for mobile devices ( ios / android ) and my grid chunks are kinda huge, like total of 400k vertices objects in them..

    2. Does it support unity occlusion culling, when additional scene added to current scene. SECTR asset has no support for it and it is really let down for me. It culls existing scene but not new added scene..
     
  36. NatureManufacture

    NatureManufacture

    Joined:
    May 20, 2014
    Posts:
    2,026
    Its all about amount of data that you stream (loading) and keep (gc call and unloading) at scene.
     
    MoribitoMT likes this.
  37. MoribitoMT

    MoribitoMT

    Joined:
    Jun 1, 2013
    Posts:
    301
    Does it support occlusion culling when partial scene added to current scene ?
     
  38. awesomedata

    awesomedata

    Joined:
    Oct 8, 2014
    Posts:
    1,419
    Would there be a way to do in-editor streaming (at design time) with the new nested prefab system?
     
  39. NatureManufacture

    NatureManufacture

    Joined:
    May 20, 2014
    Posts:
    2,026
    Every data like occ, lightmap which is saves at scene, could be loaded by ws.
     
  40. NatureManufacture

    NatureManufacture

    Joined:
    May 20, 2014
    Posts:
    2,026
    I think we will just sit into it and start to play with 2.0:)
     
  41. Binary42

    Binary42

    Joined:
    Aug 15, 2013
    Posts:
    207
    For tree culling (that part that crashes) i found this workaround:
    Cache trees per tile
    Code (CSharp):
    1. TreeInstance[] trees = terrain.terrainData.treeInstances;
    and like this disable
    Code (CSharp):
    1. terrain.terrainData.treeInstances = new TreeInstance[0];
    and enable
    Code (CSharp):
    1. terrain.terrainData.treeInstances = trees;
     
    NatureManufacture likes this.
  42. razzraziel

    razzraziel

    Joined:
    Sep 13, 2018
    Posts:
    396
    when will the version 2.0 release? is price going to be same? has it full multiple terrain support with new unity terrain? what about new draw instanced support? and job system?
     
  43. NatureManufacture

    NatureManufacture

    Joined:
    May 20, 2014
    Posts:
    2,026
    It will be for unity 2018.3+ and we will support all new features. We wonder about ECS now.
     
    tredpro likes this.
  44. gecko

    gecko

    Joined:
    Aug 10, 2006
    Posts:
    2,241
    We're having a problem with the onDone event. We're listening to it using the following code:

    uiLoadingStreamer.onDone.AddListener(() => { setInitialLoadingFinishedNextUpdate = true; });

    After this has been fired, we do things that require all the World Streamer terrains to be in place. However, this seems to fire prematurely, about halfway through the process of loading terrains.

    We're using the stock Streamers, just updated for our split scenes, nothing unusual there. We load 9 Unity terrains (distance of 1 from player), and then LOD mesh terrains beyond those. After everything is done loading, it all works great, but it's a problem that we get the onDone gets fired halfway through the loading process. I'm not sure how to investigate this, so help would be appreciated.

    thanks!
     
  45. Ascensi

    Ascensi

    Joined:
    Sep 7, 2013
    Posts:
    579
    @NatureManufacture we talked about FOV + Distance based streaming while back but I think I have a solution. You had said it would not load fast enough but here is how it would work. There would be a user defined delay mechanism to load/unload to compensate for what is or isn't there. For example my VR requires 90 FOV so I'd set a greater FOV to100 or more and the allocation/Delay to 30 seconds so it has more time to load beyond our vision. Ideally you would have another section of user defined control in the Occlusion culling component to have terrain and some larger objects always loaded directly behind the player at a specified distance from the character available for immediate access and shadows and frontal FOV streaming control as described above. This should eliminate everything hidden from the camera that doesn't have to be loaded or rendered. Dynamic Occlusion culling would also have less real-time processing to do as well.


    Aside from this will the new WorldStreamer be able to search through parent game objects to find the renamed game objects it needs to generate scenes?
     
  46. MarceloASG

    MarceloASG

    Joined:
    Jun 15, 2017
    Posts:
    23
    Could you send me the script with all the code?
     
  47. TommiH

    TommiH

    Joined:
    Jan 14, 2008
    Posts:
    253
    NatureManufacture likes this.
  48. NatureManufacture

    NatureManufacture

    Joined:
    May 20, 2014
    Posts:
    2,026
    Sorry it didn't show me notification that there was a post. Thanks for using @NatureManufacture . This mark me and show message. I will pass this to developer.
     
  49. NatureManufacture

    NatureManufacture

    Joined:
    May 20, 2014
    Posts:
    2,026
    You actualy can use parents. Btw we will add all request to our list on trello:)
     
    Ascensi likes this.
  50. magique

    magique

    Joined:
    May 2, 2014
    Posts:
    4,030
    @NatureManufacture I'm giving this a try on the Wii U again, but getting a strange result. I set up the Advanced_Game scene and ran it in the editor and it works fine. But when I run on the Wii U, after it finishes the loading screen the only thing I see is empty space and the player Y position is dropping continuously like the player is falling through space. Below that it says the following:

    Player real position: Not Connected to World Mover

    [EDIT]
    Running again in the editor I see that it also says not connected to world mover so I don't think that's the issue.