Using ArcGIS Pro and Unreal Engine 4 for Terrain Recreation(Similar to Microsoft Flight Simulator 2020)

10-11-2020 10:03 AM
New Contributor II

I used Unreal Engine 4 and ArcGis Pro to generate a virtual environment of a real world location. This is similar to what Microsoft did for their newest flight simulator. The main difference here is that it's geared more towards a First/Third person type of game so it’s a smaller location (50 SqKm instead of the whole world) but there is a lot more detail close up.

End result (300m Height)

I use a digital elevation model (DEM) to get the terrain height and a support vector machine to get a splat map from the satellite image.

The splat map controls the "type" of material (grass, dirt, crops, forest, etc.) as well as the associated foliage. The ground material is then multiplied by the satellite image to give it the appropriate blends (Darker patches of grass, different colors of dirt, etc.). Normally this would be done procedurally or with noise but here we have real data to specify what patches of grass are drier than others.

The color of the foliage is also multiplied by the satellite image to blend it all together. This runs at 60+ fps and gives fairly good results. (First Person View)

I think it is clearly superior than Microsoft Flight Simulator 2020 when close up (but MSFS2020 obviously wasn't targeting FPS type of environments).

The same layers shown close up.

I'm pretty excited with how well this turned out and how easy it is to generate new scenes from satellite images.
Any feedback to improve the scene or thoughts on how it could be used would be greatly appreciated. Thanks for checking this project out.

2 Replies
New Contributor II

HI, I’m also wanna using ArcGIS Pro and Unreal Engine 4 for Terrain. Could you give some details to me show how to do this. I still wanna import osgb to UE4, Is there any solution?

New Contributor

Excellent work!  Can you give any guidance toward which support vector machine you were using?  I'm a ML beginner (Anaconda, Orange3, and python) and I'd enjoy trying your technique out some more