No announcement yet.

Large Landscape / LevelStreaming Question

  • Filter
  • Time
  • Show
Clear All
new posts

    Large Landscape / LevelStreaming Question

    Hello everybody

    first i need to say sry 4 my englisch..its not perfect but i hope its enough to understand my question.

    so i have build a large map on worldcreator 2 and put them as heightmap into my engine. everything is fine and its perfectly intigrated.
    Now i ask myself whats the best way to continue this project.
    I want a Openworld Survival HorrorShooter but i dont know whats the best way for performance to continue my project with levelstreaming function.
    i didnt make it befor !
    its my first time for levelstreaming...iam completly new in this

    It is better to make inside Unreal many little sections of landscape and put them togheter as Levelstreaming or can i build my large map in one part with all that trees grass streets lights buildings and everything and slice that into many little sections to make it levelstreaming ???

    Is this possible to make a complete large landscape level with all that stuff on it and slice it into many sections to make it streaming??

    I hear about the levelstreaming function und know i ask myself whats the best way befor i made so many work for nothing...

    Hope anybody can help me

    much regarts cap

    You may not need Level Streaming...

    Originally posted by ddvlost View Post
    By default size of the world is limited to ~500k units (WORLD_MAX constant in sources). You can still place objects outside of these limits, however you will start experience unstable physics simulation on objects that are too far away from world origin. So it's not recommended to place objects which simulate physics that far, but you can still place visuals (ex. skyboxes usually are much bigger than 500k). Right now engine will stop physics simulation for actors which are outside of world bounds(WORLD_MAX), you can disable this behavior in WorldSettings->Enable World Bounds Check.

    It's possible to create "infinite" seamless worlds. UE4 supports world origin rebasing. At certain moments (when camera position is far enough from current world origin) engine will shift world origin position to current camera position. Basically this operation subtracts a specific position offset value from all active actors in the world.
    To make it work you will need to compose your world from a smaller streaming levels (tiles). Tiles should be loaded based on distance from the current camera. Each tile should have a "world position" which tells engine where that tile should be positioned in the world. While player travels trough world - engine compares tiles "world position" to a camera position and decides whether tile should be streamed in or streamed out.

    We have a tool which helps you to manage big worlds. It's hidden right now under Editor Preferences->Experimental->World Browser
    If you will enable it there will be World browser tool in Window menu.
    World browser managed worlds work bit different from single levels, you will need to open world using World Browser menu File->Open World...
    "Open World..." command opens a level which will be your persistent level (level that is always loaded) and all maps found in the same folder and subfolders will act as a tiles.
    By default tiles are not loaded and you need to double click on a tile name to load it to the editor.

    World origin rebasing will not work with multiplayer games, to make it work you will need to implement your own server solution.

    We are working on a sample demo which will show how to create a big worlds, also we have a documentation for this tool and it should be added soon.


    ExORION Sci-Fi Action/Terror FPS needs 3D KitBashers and Blueprinters. Join Our Discord.


      Your quote says "To make it work you will need to compose your world from a smaller streaming levels (tiles)."

      You still need level streaming, it's just the World Co-ordinates of your camera are reset from, for example, X: 999,999, Y: 999,999, Z: 999,999 to X: 0, Y: 0, Z: 0, with everything else being updated relative to that.
      I'm @londonisunreal, the organiser of the London Unreal Engine Meetup group.