Download

Procedural Earth based on GIS Data

Hello,

This is my first contribution but I was using Unreal Engine for years…

I am working on an open world solution (Real open world) with real time data streaming and with no loading time.
I use GIS Data to generate procedurally the whole earth. The GIS Data is read and used on runtime, nothing is baked.
I am using custom projections (WGS-84) to simulate a real size earth (Yes you can see earth and create real size planets!).

The visual is correlated with the real data.
The application is highly multi threaded and resources are loaded and unloaded on runtime.

Here is a small demonstration
I have only data covering 220 Km x 220 Km (2 Degrees x 2 Degrees)
https://youtu.be/pUvoSZkFbjs

It’s possible to generate any other planet…

Here are some other features:
-Unbounded Worlds
-Procedural Imagery based on GIS data
-WGS-84 Support
-Real Size World
-Fully automated terrain generation
-Procedurally generated from any GIS Data
-OGC CDB Support
-Fast data loading
-No loading time
-High frame rate (75-100 f/s with dense data and complex terrain at high speed (>560 m/s))
-Fast loading after reposition
-GIS Data 3D Editor
-Shifting and re-projection to maintain precision

Thank you for your feadbacks!

2 Likes

Looks interesting… What are your plans for this?

Honestly, I don’t know yet. It’s a lot of code and there is still a lot of work to do. I started designing a solution to create procedural models (on runtime), based in the footprints and other information like the region, type, height, number of stories, etc. The information is available already in the GIS data (Check OpenStreetmap for example).

Hey @sessid - This is amazing!

Got a few questions -

  1. What are your plans for this? Do you plan to sell this on the marketplace, Itch.io, or similar store front? Open Source it?
  2. Can we replace buildings that are placed at run time? If so how? Curious to see the workflow for this. :slight_smile:
  3. Will this accept SRTM data or data from NASA JPL?
  4. Does this generate roads? Either via Open Street Map or other form of data?
  5. Is this a plugin, a project or engine level modification?

If you cannot tell I am very interested in this for my own projects. :slight_smile:

Is there any way I can reach out to you to talk in private?

I am also very insterested. Please let me know, if this gets released.

Hello HeadClot,

Thank you for your feedbacks.

  1. I don’t know yet, but for sure not Open Source it.
  2. Yes you can use specific models, if your GIS data points to a real model it will be used, it will create a procedural one otherwise…However, Unreal still has performances limitations in term of streaming of assets (textures or models…).
  3. You can load in data :-). The application is completely decoupled from the sources, so if your tile requests a specific data, it asks the data server for it…You can customize your server of data, There is a public interface (If the format is not supported per default).
  4. Not yet, this is still version 0.1, but it’s in the plan, it will use the road network GIS data to generate the roads…Again any data…if your format it’s not supported per default you can create your own converter…
  5. No it’s not a plugin, I created external libraries for the geographic processing, the tiling system and the math behind…I used them in a project.

I sent you a PM for my coordinates.

Hello MaSe87,

Thank you for your feedbacks.

I don’t have a plan yet. I will keep you updated.

WOW! Would totally love to see this become a real world solution. My mind is swirling with endless possibilities. Please keep us updated on the progress and if you could use any assistance with testing along the way please don’t hesitate to get in touch.

Thanks CreatorofWorlds!

Would love to see release of it as plugin, with sources (at least terrain part, don’t really need anything else)

The possibilities are so huge, you definitely have a lot of developers wanting this, afterall the world generation is key for a game success, not to mention other applications!

Keep it up and thanks for sharing!

I don’t have a plan yet, but I will keep you updated. There is still some issues to address even to deliver the terrain.

Thanks Nilson!

Hi, this might be very interesting for my project. Could you please PM your contact details please?

Thanks,
Luigi

Hi LuigiblueMilk, thank you for your feedbacks, I sent you a PM with my contact details.

Hey, can I ask for a few more details?
It looks really interesting, and im not sure how it works?
have you imported a library of GIS data and it picks them dynamically, or does it blend them?
like a GAN?
and what format is the satalite date in?

thanks :slight_smile:

Hello kip_p,

Thank you for your feedbacks.

Internally, the system is very complicated to explain. I will try to simplify the concepts.

The application is completely decoupled from the sources. The most important part is the world, in fact, the application is creating configurable level of details of tiles based on the geographic position of the viewer, those tiles are created using some geographic projection to simulate a round planet.

During, the creation, the tiles will request some resources based on the geographic extent and some other properties.

A server of Data will try to provide GIS data that satisfy the extent and the properties.

The server of data is highly multithreaded and it’s loading a lot of data in advance to make sure the data is all the time available, so the user can fly at 1000 m/s.
All of this is internally managed, so you don’t need to understand it.

However, the server has an interface for loading data. And this can be useful for the user.

In fact, if your format it’s not supported per default you can create your own converter. So you need a library to read your GIS format. For the Demo, I used a OGC CDB format. There is a library for loading this format.

I hope that answers your question.

Sessid.

Hey this looks great I wanted to use this for large scale desert landscapes that has good frame rate because unreal landscape is unworkable for large terrains too much frame rate hit. Also when the roads are working what way will they come into engine is it a material or spline etc.

Thanks Racerindiekid,

The roads can’t be material only if you need detailed edges…
For large terrain it’s possible to combine both concepts: Spline for closer roads and material for far ones.

hello,**sessid

Can we buy the project and source code?**

Hi Jiean,

The project is still under development.
I haven’t decided yet how the project will be published. But for sure, the code source will not be available.