The best way to have the entire world in UE5?

Hello!
Unreal 5 gives indie developers more power than ever. This is why I’m coming to ask - is there a better way to represent the entire (or most of) Earth in Unreal than through Cesium and ArcGIS? They get really broken in areas with buildings and aren’t editable to increase the level of detail.
I’m trying to build a combat simulator primarily focused on planes, so having a small custom-made map is not an option.
Thanks in advance,

1 Like

Hey there @anonymous_user_972c05d8! Welcome to the community!

So I was originally coming here to to recommend ArcGIS but it seems you’ve already had the idea! Unfortunately there aren’t too many options for extracting and using real life data that are better than ArcGIS. If you only wanted the small sample topology data you could use something like open topology, but you’re trying to simulate a large play space so that’s less applicable.

How large of a playspace are you trying to simulate, and are the buildings relevant or could they be just generated?

Thanks for the quick reply!
I’m trying to simulate most of the northern hemisphere in total, but only what the player can see at once.
Buildings at cities can be generated, that’s not a problem by me, as long as I can make custom buildings at important sites.

Oh that’s going to be tough!

There’s relatively very few tools that can accomplish that alone, arcGIS and cesium together is the standard recommendation for it. You’ve probably already taken a look at this, but it’s said best in this talk that every large scale landscape pipeline like this will tend to be custom mixture of a number of programs and data that you’ll have to mix for outcomes like this. You’ll likely have to process the GIS data directly but that gets to be far more complex and partially authored even if you generate the buildings based on geo shape which gets a bit messy with world scales like that.

The quality of the data doesn’t get much better so the options are relatively limited without rolling a custom processor of sorts.

The workflow demonstrated in this talk is usually what I recommend.

Unreal is the wrong engine, being performance is crippled in all versions after 4.25.
Being 3/4 of the things they add keep on not working (and to their excuse, I suppose 5.1 is still a beta, so no one expects it to work).

Anyway.

You need a way to stream in the terrain. Unreal doesn’t do this.

On top of it, you need a solid mesh generation system that follows basic high/low detail generation based on the heightmap data you have to stream in.
You need enough detail so that mountain ranges wont be changing shape from 20km out to 10m.

Nothing really does this satisfactorly with high detail.
You can sort of consider Google Earth as a rare exception - but the detail at the size of a person piloting is way off there too…

You need a way to generate cities. And not just one… Yes, you can pull and stream in openstreetmap and get a basic road layout, even at runtime.

Maybe if your minimum altitude is high enough that’s ok. If you want realistic, then probably not.
Open street map offers some basic building layouts. Think the first microsoft flight simulator as far as details go.

You absolutely need world rebasing, or to have your world move rather than your actor (only valid on single player).

Overall, IF you can do this, depends entierly on the kind of detail you want to get.

As a single person, you are never going to do better than microsoft flight simulator.

As a team of competent people, doing better is possible, but it requires a custom engine that can do all of the important base operations at far superior speeds than the hacks you’d have to concoct or work around with any other engine.

Thanks for the link SupportiveEntity,
unfortunately the webinar is focused on a small area, which isn’t an option for me.
I’m wondering how Blackshark.ai are doing it in such a quality and how far on the horizon their UE plugin is.
I don’t mind putting in the work to make some system of my own, the problem is I don’t know how nor do I have a budget capable of handling a paid API.
I would like to take a look on a piece of your reply:

Did you mean any specific programs and data here?
In all, thanks for the help so far.

Hey MostHost,
I do not expect nor want to do better than MSFS. I want to do good enough, which… Cesium is awful to look at from up close, and to be honest, in a combat flight sim, you will be hugging the ground a lot.
I was also looking at the pictures from Antoinette project, and it looks times better than what Cesium and ArcGIS offer. Any idea why is that?

Grassgis/arcgis and nip2.
You can generate “splat” maps from GIS programs by printing out slope values in a 0 to 1 range.
You can generate high detail 1:1 by running a gaussian blur filter over a stretched out version of a 30m DTM, which is maybe 20% accuracy vs real world and possibly lowers mountain ranges.

But if you start that way, youd need several TB just to store the heightmap data locally. You’d never be able to publish/release something that requires more than 100gb to run.
Which is where the streaming in part becomes important…

Usually, any beauty shot you take is rendered in a custom made editor only setup, not at runtime of gameplay.

That said, despite not doing so with much accuracy it appears that the arcgis plugin streams in the 30m DTM at runtime for you.

If you want basic, that’s probably a good start.
You just can’t expect altitude of things to be lifelike. Meaning, peaks and canyons would likely be drastically different (And I guess thats always the case unless the Airforce is feeding you lidar 1:1 data to make a proper simulator with).

You can probably overlay Custom maps onto Arcgis.
You have to do some testing there.

The idea is you can maybe focus and make some areas manually, and have arcgis stream around it so that changing altitude somewhat correctly renders the terrain geometry you expect around the POI you made custom.

I was actually thinking about making the important areas manually, the thing is I can’t edit the “landscape” - not even paint materials on it.
Of course I don’t need the Atlantic 1:1 custom-made :smiley:

Funny enough, youd find more 1:1 dada of under the sea as public (probably because we ship souch stuff via ship that having accurate underwater charts becomes globbaly important).

I’m sure one can pick apart the arcgis plugin or create a “no render” zone for it so that a custom portion can take over with a separate terrain.

I’d probably go that route.

As far as close up terrain detail goes.
You are limited by number of tris and drawcall count. Like always.

You can’t expect to see a blade of grass at a realistic distance.
You can’t expect to see swarms of rabbits lurking around like at some EU airports.
You can’t expect flocks of birds like at some US airports.

You can approximate those with minimal numbers. Same for cars/people.

You can’t have realistic shadows over distance (shadow computation realistically kills performance).
So having big mountains cast realistic shadows can possibly be a no go… depends on the ms cost.

You can get a fairly good looking scene in anything if you spend time manicuring it.

But how many areas you can you customize - world wide?
That’s the time sinker…

So I am at the point of inserting my own heightmaps?

Well, I would say to stay away from the landscape.
Try and see what Arcgis is doing.

It’s possibly better to feed a different heightmap to it than it is to mess with landscapes…

Either way, you should make a 30km^2 map to learn the engine tools and what not.
If you don’t know the engine you work with, that’s probably the first step.

I may have found a way to do it, but I’m not sure how to manage it…
There is a 128-tile map in Falcon BMS (in it’s core, an engine from 1998), which means it is 2048x2048km. I can get the heightmaps in a bulk download from USGS, but is there a way to paint satellite imagery onto it if it’s a UE5 landscape?

I should most likely rephrase what I need:

The minimum of what I require is a way to have custom materials on ArcGIS terrain. This way, I can easily make an area more detailed, but I haven’t found a way to do it.

The complete ideal thing that could happen would be Blackshark.ai, but I doubt they will release the UE plugin in the next few months.

In all honesty, the minimum solution seems like the easiest to achieve at this moment. Any help with achieving it will be appreciated.
-Knedlik

Regardless of who’s killing it, the engine will never be compatible with a world sized world.

Let’s remind everyone yet again that the earth isn’t flat. Unreal’s landscape system is flat.

At best, you get a nice approximation of a 200/400km^2 slice of earth (which isn’t anything to spit at).

Recomputing approximate spherical distortion on the fly, per pixel (of heightmap and therefore meter) of terrain is crazy expensive.
Particularly when you have billion or kilometers on screen because of altitude.

And even if it did work.
Unfortunately its still an approximation. Probably of lesser quality than an end result would be if you took a portion of map and set the exact esri mapping for it.

For a game? Who cares…
For Scientific and even archviz stuff… that’s already a red flag…

Okay, maybe the full world is a bit overkill. But even then, what you described is maybe 15km on each side. That is impossibly small for a flight sim. Just the Desert Storm area would be between 1000 and 2000km on each side.

I do understand that this is a big project, but apparently enough, no one else is going to do it in the near future. And I’m also doing it for a school project.

Let’s take for example Falcon BMS, famous for it’s accuracy and decades-old engine base. The basic map size is 32x32 tiles, or 512x512km. The largest map, mideast128 is 128x128, or 2048x2048km. To my knowledge, only one to five people worked on that map AND the campaigns included.

If you guys want me not to do this project, I’ll be happy for suggestions of simulation games to make.

@anonymous_user_972c05d8
I’m sure about a specific Unreal plugin, but I’ve personally used a Blender plugin that uses ArcGIS data to create 3D models of cities, landscapes, terrain, and roads.
Here’s the link to the page, there’s both a free and paid version:

My best advice would be to figure out a unique way to scale the models so that your flight sim still feels real, but uses less space to compute. And to mess around with the culling, a lot.
I hope this can help, it seems like a really cool project!
-Zen

Thanks a lot Zen!
I’m currently trying out Undini’s Landscape tutorial, but I will sure keep in mind your advice if that doesn’t work out too well.

@anonymous_user_972c05d8
Sounds great! I was able to render about 5 square km of NYC on just my laptop with it, so its a really easy tool to use! All you do is select the coordinates of where to pull the data from, and it gives you the models!
Happy Developing!
-Zen