It is possible create a map with more than 400km? ???
It is possible create a map with more than 400km? ???
I was making the same question Here
i found this in the ue4 f.a.q.
“[FONT=Times New Roman]…create and customize large, open worlds. Landscape paves the way for terrains that are orders of magnitude larger than what have been previously possible thanks to its powerful LOD system and efficient memory use. Quickly and easily create outdoor worlds allow for any type of game!”
“[FONT=Times New Roman]offsetting the coordinate system’s origin”
I wish this as improvement in the core of DirectX 12 and not via software outside the gpu.
I would also like to know what this means, and if we can create a module to allow level streaming in source code.
Of course you ‘can’… but I’m sure it won’t be that easy.
Even UE3 contained level streaming. Which worked fine after all.
Problem’s just that in UE3 the player moved through the world.
And due to hardcoded positioning limits (I think it was 32bit floating point) most actors couldn’t be positioned outside of world bounds.
Now it seems UE4 offers player-centered movement.
Which means, player character will always stay at 0,0,0 while the world moves around.
Result: world bounds are always far away, in any direction.
Combined with level streaming and some code you can go as far as you want.
Now, here’s my question.
Did anyone find code or something else related to this?
(I don’t think it’s some nice checkbox available in the editor…)
The largest land…
Right now I am using almost 1000x1000.
but there is a downfall to this.
LAGS LIKE A B____H
So my suggestion is to reduce the size until you don’t feel lag. But remember.
It’s a balance, every polygon (and it’s overall dimension) does have an effect on GPU/CPU
1000km? m? grid size?
You’ll need to split really large maps into several landscape objects which can then be streamed by using different levels…
The maximum size of playable Area is about 500k units. With scale of 1uu = 1cm it gives you about 5kx5k maximium playable area.
There is however world streaming, where you can setup, infinite worlds.
How about level streaming?
as long you can “cover” the next level with a hill or something, you can just keep walking until you reach the border of the map, load then the next level into it and continue your journey into the next sector.
and world streaming…
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.
Thank ddvlost for your answer!
500k units what does that mean in km UE4 scale unite?
If I’m not mistaken, 1uu = 1cm, so 500,000cm = 5000m = 5km.
Can the scale of an uu be changed. IE define 1uu = 10cm and get a world with max dimentions of 50km.
I believe you can chose any UU value you want, the only issue I see is with physX, where you will have to change the PhySX simulationscale parameter (I remember studying this for another engine and the PhysX sdk), name might be different but it is something like that, I have to study sources a little more…
Since you have the full source available this should be possible. I am also studying the SDK for a flight sim project and still learning so I might be wrong
Even if you can… why do you want to do that? You’ll lose precision and you might notice floating point precision problems - because everything is just a tenth as precise…
I don’t think you will have floating number precision issues. The 2 reasons for floating precision issues are:
rescuing that thread.
I open a 3ª character template, and place a mesh in z:262000 and “Play from here” and not work. if i place in 261000 work. limit in Z?
Turn of Do World Bounds Check in the world settings of your level. But be aware that at those coordinates, you’re going to start getting float precision errors.
thanks, that work. and thanks for the warn
ddblost, has that sample level and documentation come out yet? If so, can you please link it? Thanks!