The best way to have the entire world in UE5?

Just a little question, can this be exported in a way compatible with the landscape system?
Thanks in advance,

@anonymous_user_972c05d8
I know that you can bake the model to create a height map, and import it into Unreal, but in terms of getting the mesh to be imported into the Landscape System itself - I’m not entirely sure.

I know that the Landscape System is designed for very specific performance reasons, but in general, it seems the meshes themselves should be fine unless you’re really looking for that specific integration. A Marketplace Creator goes pretty in-depth into the differences:

I found a plugin on the Marketplace, but I can’t fully recommend it - I’ve never used it, and its a paid plugin - but if you’re interested:

Please ask more questions if things come up!
-Zen :vulcan_salute:

Thanks a lot for all the info Zen, appreciate it a lot.

Just to clarify, how easy is it to get reasonable detail with that Blender plugin? I know that with landscaping, you can get really good detail with the Quixel surfaces, so I’m interested how it compares to your approach.

Thanks in advance,

@anonymous_user_972c05d8
Glad to be of service!
To answer, it depends. It generates a relatively low-poly model of the landscape you’re selecting - but all of the buildings and landscape features, such as mountains and canyons, are still generated. In terms of the vegetation, and actual texturing of the model - the free version of the plugin leaves a lot to be desired. I usually add shaders and materials to it manually in Unreal after I’ve generated everything because you’re right, Quixel does this very well.

So maybe your best approach would be something of a cross between the options - using Unreal for the physical land features and vegetation while uploading models of the cities and roadways from the plugin, because the model of the cities, from what I’ve found, is very precise, even for low-poly. Just a thought, though!
I hope this can help some more! :vulcan_salute:
-Zen

If I wanted to make my own plugin like ArcGIS or Cesium where I would stream my terrain from my own server, how would I go about starting that? I don’t see much in the documentation about streaming from an online source and loading in details as the player approaches an area.

I watched the demo of the two plugins above and they seems to be streaming in low quality and updating with better quality as it loads.

I wouldn’t even start to bother. You are talking about billions of TB of bandwidth to stream that sort of stuff.
There’s a reason only government entities or big companies like Google do this.

I’m not talking about a full earth. I assume the folks from the two mentioned companies were educated on how to stream terrain into the engine real-time, I’d like to know how this is accomplished. I’m more interested in the mechanics on how to do this. Even if it’s a smaller terrain. Would be nice to be able to work on a terrain even after a game is shipped and the game is updated accordingly.

a height-map is a data image in png 16 bit format.
Like anything else, you can provide image tiles on request, probably via a SOAP API.

So long as you make the image available to something, then you can use it to define the height information of each vertex. Be it using the landscape tools, or any other system.

I understand how to create a terrain in engine, but I’m trying to understand creating a terrain on the fly with a plugin based on a web API. What’s the best way to store this on the server and have the plugin assign materials etc. on streaming. Which UObjects are involved in doing this real-time. It is done with DataSmith? How does these plugins get the data in the way they do. Again, trying to understand the mechanics.

None of the plugins do this “on the fly” usually. Nor should they really. Terrain editing is generally an In Editor only feature.

The heigmaps can give you all the data you need to make materials and anything else, based on slope (angle incidence of height between one pixel and another).
Generally, you export those out as separate assets and assign them to a paint layer. In an auto-material you just don’t. You use the input off the texture as a lerp alpha to draw up the material transitions.
You can even provide more than 1 image, if you wanted too, Since hypothetically you’d have to code your own REST API to provide data to the software.

There really isn’t anything that is mechanically different in any way from making the landscape manually.
You just automate the process to work off of an image stream as best as it can.

For actually deforming the landscape, since the interface for it is not exposed, you have to dig into the C++ landscape modules and pull out functions to replace/add tiles on the fly.
However, since the landscape layers are a thing in more recent engine version, you may consider extending the layers functionality to just add a base layer that can later be edited.

Now, if you wanted all of this to work in real time, you’d do something similar but with a procedural mesh component, or a voxel plugin, or something that initially already allows for runtime manipulation of a terrain.

The old-school way to do it would be a matrix with variable Z points that match the height provided from the height-map.

There are some projects out there that do real-time landscape as open-source that you can have a look at. It’s all mostly theoretical as the final rendering cost is generally prohibitive for non-developer systems. With some notable exceptions, like the voxel plugin.

Thanks @MostHost_LA
I guess I misunderstood the way these plugin work. From the webinars and other videos, I got the impression these were streamed in during gameplay. I didn’t see them just using them for editor terrain creation. They were promoting these for big world simulation…

It’s not that it’s impossible, it’s just that the unreal landscape is not editable at runtime by default. (and that it’s performance and composition is incredibly bad by any standard, modern or even 10 years dated).

Interesting. Thanks for the insights :slight_smile:

ok - so I’m late to the party on this thread but I do have an ‘entire world’ solution. Feel free to contact me for more info. Some examples here: dhp11 Ltd - Articles

Doesn’t seem like it would apply to a sub class engine like Unreal / nor that it would be feasible to include in a videogame with a size on disk constraint.

If it was, then you ought to be barking up the Microsoft tree to improve their flight simulator, because it could really use some more realistic views being called “simulator”…

Hi,
Very late to the party, almost necro-posting, but there is already a viable solution for a full earth on the fly loading terrain, fully editable in UE5 interface.

Don’t know how they work, if they sell this UE add-on to one person crew or not to, what’s their business plan is, but you could always contact them.
There is already one “game” in the pipeline that is using it, it’s called https://airland.world/. But within this game you won’t be be able to edit the terrain in UE gui but only via Lua scripts in C++, what i think will limit the possibilites.

Wildrealm use the same principle as Outerra, terrain load on the fly (that you can save on the disk so it won’t load online anymore when you’re in the same area) and all vegetation/texturing is procedurally created. Wildrealm also seems to use OpenStreetMaps to create streets/paths/ways/water bodies/agri-fields/buildings, what means ,if you want to change details, you need to modify OSM data for the area you want to represent (what again, means creating an osm private tile server, learning the mapping tools (JoSM in most cases) and spending a lot of time doing it, i tried myself to represent a very small area of northern France in it’s 1940 version, it’s very time consuming).
Creating a flight sim is not a one man crew job.
You can check their Youtube page, even if it’s not updated, to see the possibilites. especially this vid as it shows some interaction with the height and osm data.

Hope i helped a little bit

PS: The hight data 30m for the whole earth, is taking 22.7Gig on the drive, based on Eric Brunetton’s “Proland”, that sadly doesn’t work anymore on win10.
http://proland.inrialpes.fr/index.html

1 Like