Search Unity

  1. Unity 2019.1 is now released.
    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. magique

    magique

    Joined:
    May 2, 2014
    Posts:
    3,365
    @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.
     
  2. NatureManufacture

    NatureManufacture

    Joined:
    May 20, 2014
    Posts:
    1,526
    Probably world was loaded tooo slow in such device and it drop player. Use safe place or hold player until load end.
     
  3. magique

    magique

    Joined:
    May 2, 2014
    Posts:
    3,365
    Is there some callback to tell me load ended? Or do you just mean Unity's sceneLoaded delegate?

    [EDIT]
    In the dosc it says the following:

    Loading bar in loading screen will release player into game only when all scenes from element 0 and 1 will be loaded.

    So, isn't it already waiting until loading is complete?
     
    Last edited: Jan 28, 2019
  4. NatureManufacture

    NatureManufacture

    Joined:
    May 20, 2014
    Posts:
    1,526
    Loading bar yes but character must be frozen for this time or moved to safe place. Yes ui is using flag / event which says loading is ended. Im not at office but check loading ui script.
     
  5. magique

    magique

    Joined:
    May 2, 2014
    Posts:
    3,365
    OK, thanks.
     
  6. Eqirc

    Eqirc

    Joined:
    Apr 7, 2018
    Posts:
    1
    Does World Streamer support HDRP?
     
  7. recon0303

    recon0303

    Joined:
    Apr 20, 2014
    Posts:
    1,595

    World Streamer is a tool for streaming terrains. and game objects, etc. So it will use what ever Rendering Unity allows. and supports. so yes it will work.
     
    Eqirc likes this.
  8. magique

    magique

    Joined:
    May 2, 2014
    Posts:
    3,365
    Did you ever get this information for me?

    [EDIT]
    Nevermind. I found it and got it to work.
     
    Last edited: Feb 6, 2019
  9. NatureManufacture

    NatureManufacture

    Joined:
    May 20, 2014
    Posts:
    1,526
    Just in case for others.


    if (streamers.Length > 0)
    {
    bool initialized = true;
    progressImg.fillAmount = 0;
    foreach (var item in streamers)
    {
    progressImg.fillAmount += item.LoadingProgress / (float)streamers.Length;
    initialized = initialized && item.initialized;
    }
    if (initialized)
    {
    if (progressImg.fillAmount >= 1)
    {
    if (!done)
    {
    done = true;
    if (onDone != null)
    onDone.Invoke();

    StartCoroutine(TurnOff());
    }
    }
    else
    done = false;
    }
    }
     
  10. TommiH

    TommiH

    Joined:
    Jan 14, 2008
    Posts:
    250
    @NatureManufacture Any comment on this issue gecko posted a while ago?
     
  11. NatureManufacture

    NatureManufacture

    Joined:
    May 20, 2014
    Posts:
    1,526
    We didnt notice that. On our UI you could set delay for loading panel which handle most cases. It only can happend when streamer didnt had enought time to gather info about which scenes is on loading list.
     
  12. gecko

    gecko

    Joined:
    Aug 10, 2006
    Posts:
    1,962
    Do you mean Destroy Tile Delay?

    That's mainly for loading/unloading as the player moves around? Our problem is the initial loading, 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. Any suggestions?
     
  13. NatureManufacture

    NatureManufacture

    Joined:
    May 20, 2014
    Posts:
    1,526
    Screens from setup:p
     
  14. SSL7

    SSL7

    Joined:
    Mar 23, 2016
    Posts:
    289
    Does world streamer support Unity 2018.3.x?
     
  15. NatureManufacture

    NatureManufacture

    Joined:
    May 20, 2014
    Posts:
    1,526
    Should be fine:)
     
  16. Chaz32621

    Chaz32621

    Joined:
    Apr 17, 2015
    Posts:
    194
    Is this possible for a multiplayer game??
     
  17. razzraziel

    razzraziel

    Joined:
    Sep 13, 2018
    Posts:
    88
    any news on version 2.0?
     
  18. chrisk

    chrisk

    Joined:
    Jan 23, 2009
    Posts:
    393
    2018.3 has been release for a while and I'm wondering about the update.
    What features are in v2? Anything interesting cooking?
    Thanks.
     
  19. chrisk

    chrisk

    Joined:
    Jan 23, 2009
    Posts:
    393
    I have one additional question on Nested Prefab

    I'm wondering how WS will work with nested prefab. For example, a building containing many props.
    Building itself is on a Big Layer and the props are in a Small Layer.
    Building and the prop are made of nested prefabs, thus have hierarchical structures.
    Does WS works for the nested prefab? If not, will v2 support it?
    If they are put into different layers, will it break the nested prefab?

    Thanks.
     
  20. MostHated

    MostHated

    Joined:
    Nov 29, 2015
    Posts:
    703
    This works just fine with multiplayer, you just have to export the terrain colliders only and make sure you have them static on the server side if you aren't doing origin shifting. You technically coouulllddd do shifting in multiplayer, but it would be a pain because clients can't just go around trying to shift their origin willy nilly, the server thinks they are one place, but then it will technically just end up teleporting them another.

    You can do this if you create some sort of local position/server position reference system. If the player is at 5000,0,5000 originally, then moves to 0,0,0 locally, you would have to still store the server's position and as you move around on the client it would have to keep the offset and then transmit that. It definitely could open the door to people trying to hack the difference between the two numbers though. There is a lot that has to be thought about, lol.

    I would definitely love to hear what is in store for V2 though, as well. : D
     
  21. NatureManufacture

    NatureManufacture

    Joined:
    May 20, 2014
    Posts:
    1,526
    Our main goal is to rebuild whole UI and way of define streaming but we still finishing few things at the same time ;/. We will release R.A.M 2.0 as first then we will move into WS probably to finish its 2.0 version. To be honest there shoudnt be rush because we don't want to do our work few times as unity currently rebuild streaming in whole engine. Unity just released new gc which removes spikes. Terrain now doesnt need terrain neighbour script. Soon there will be even more stuff as we had talk to unity team. OFC ECS and more too...Thats why we wait so long time it's a bit worst moment to rebuild beside that we should update manual and few scripts for 2018.3

    About big multiplayer games:
    Server instances like:
    World 0-10500 server 1
    World 10500- 20500 server 2
    In area between player is connected to 2 servers.
     
  22. chrisk

    chrisk

    Joined:
    Jan 23, 2009
    Posts:
    393
    Sounds like it will be a while until the update and when v2 comes out, the thing will just work better and faster.
    I understand about Unity is in fluke, but what about the nested prefab issues.
    Any advice on how to work with nested prefab in the meantime?
    It is more like workflow issues rather than performance.
    Please read my last post above for more details.

    Thanks
     
  23. Mikekan13

    Mikekan13

    Joined:
    May 30, 2015
    Posts:
    57
    I am having a bit of trouble. I followed the tutorials and set up a test scene with a hallway. It seems to stream in fine going one way but the sections don't seem to sit right next to each other on every piece. So when you walk back through the hallway it doesn't spawn in at a certain point. Essentially I am trying to make it stream in a few rooms around the player but the rooms could be all sorts of different sizes. https://gyazo.com/49267ed7a1b9077efb2edbee54fdcc07
     
  24. NatureManufacture

    NatureManufacture

    Joined:
    May 20, 2014
    Posts:
    1,526
    Check objects pivots in relation to streamer grid.
     
  25. NatureManufacture

    NatureManufacture

    Joined:
    May 20, 2014
    Posts:
    1,526
    I think such construction is rather non usefull. For such cases you got colider streamer. nIt would be pretty hard to manage all this scenes in such way. As we stream scenes we have nothing to prefabs at all currently. It will work with everything. Anyway as ecs comes we will see what we can do.
     
  26. Mikekan13

    Mikekan13

    Joined:
    May 30, 2015
    Posts:
    57
    Is there a tutorial that better explains using collider streaming in combination with Layer streaming? I can get either one to work by itself but not combined together. My whole world is comprised of rooms and sometimes loading a room with a collider slows it down too much so I would like to have the room start like 3 or for layers to start loading.
     
  27. NatureManufacture

    NatureManufacture

    Joined:
    May 20, 2014
    Posts:
    1,526
    Why it slowdown? Too much data or?
     
  28. Mikekan13

    Mikekan13

    Joined:
    May 30, 2015
    Posts:
    57
    It is for VR so the loads have to be pretty small to not experience the steam compositor loading screen.
     
  29. chrisk

    chrisk

    Joined:
    Jan 23, 2009
    Posts:
    393
    Hi, did you take a look at MegaCity? They release the asset at GDC 2019. One of the interesting things is that they support sub-scene streaming. It supports streaming low level LOD first and it also talks about low-level LOD can stay once it's loaded without being destroyed if desired.

    If we use the same setup, we don't have to have so many scene files. We can have one Scene file for one Grid element and stream in part of the scene, such as Small, Medium, Large, and also different LODs separately. It will defienely make the Scene management easier and I hope there are some peformance improvements as well. What do you think? Is there something we can take an advantage here?

    It's really exciting and I really curious where World Streamer is headed.
     
    awesomedata likes this.
  30. NatureManufacture

    NatureManufacture

    Joined:
    May 20, 2014
    Posts:
    1,526
    Let we release r.a.m 2.0 first and we will sit into it:) for sure we will check possibilities from that project.
     
    awesomedata and chrisk like this.
  31. awesomedata

    awesomedata

    Joined:
    Oct 8, 2014
    Posts:
    723
    Haha -- I came here to ask that exact question. :)


    I was playing with the World Streamer demo yesterday, and to be honest, I found the demo a little underwhelming performance-wise (even before the release of the ECS + texture/scene streaming features. )

    It got me thinking -- I have yet to seriously integrate World Streamer into any projects because I keep running into the same need to see long distances. And if performance stutters even with such a low draw distances (and heavy fog) like it does in the demo, I can't really justify using it in a serious open-world project. :(

    Using the "Curved Worlds" plugin to avoid the crippling low draw-distances in the airplane video was clever, but I can't do that in any of my use-cases.

    I really do think it's a good idea to use ECS streaming like in the Mega City demo.





    That being said -- I too am excited and curious as to the future of World Streamer.

    I would really like to put World Streamer to good use for once!
     
    JBR-games likes this.
  32. NatureManufacture

    NatureManufacture

    Joined:
    May 20, 2014
    Posts:
    1,526
    Truth is if we would release ws on 2018.3 we would have to rebuild it for 2019.1 :D
     
  33. awesomedata

    awesomedata

    Joined:
    Oct 8, 2014
    Posts:
    723
    I feel your pain...

    Lots of developers (including myself) are having to rewrite (and redesign!) many core things (in my case, nearly my entire asset!) from the ground up thanks to a new feature in 2019.1!

    IMO -- This is a good problem to have! -- Thanks to these new engine/editor capabilities, I can provide the ultimate value to people who use and trust my tools to work when/where/how they need them! -- Those very same people talk about my tools, recommending them to their like-minded friends! And since nothing ever goes away on the internet, a good name gets more valuable with time. Providing exceptional value (even when it costs, and you don't have to) speeds this process up! -- The simple act of a "surprise gift" just naturally makes people happy enough to talk about its source.


    Just my two-cents. :)
     
  34. razzraziel

    razzraziel

    Joined:
    Sep 13, 2018
    Posts:
    88
    well still waiting to buy if it would be good with new unity versions. i hope you wont postpone for 2019.1 & 2019.2 too?
     
    awesomedata likes this.
  35. embrain

    embrain

    Joined:
    Mar 12, 2019
    Posts:
    3
    great work. that would be amazing for a multiplayer setup!!