How did I do the Cesium flight simulator in an hour?
I’m working in the extended reality industry and noticed over the years that a working prototype is the most effective sales tool. People get instantly onboard and excited about what we are trying to sell. So, fast prototyping is a big part of my work.
As an Unreal Engine developer I love using so called blueprints, logical nodes that you can drag and drop. I know how to code using object oriented languages, however – if I need to try out something quickly, I choose blueprints over manual coding any given moment. Blueprints are context aware, you can’t make mistakes – only valid connections between different nodes are automatically approved by Unreal Engine.
However this time it wasn’t about work and sales, it was all about my friends and gaming! We’ve been playing online games as long as I can remember. We are mostly playing first person shooters like The Battlefield game series where you can fly, drive a car, walk, use helicopters and what not. We are currently anxiously waiting for the latest Battefield to be released, and while doing so we play against each other in a multiplayer environment I’ve created. It takes place in our real neighborhood in Helsinki, Finland. You can imagine that different tasks are located to our real home addresses “Hey Marco, I just bombarded your home, how copy?” 😀
So, I wanted to create a “digital Helsinki” – so big it would take minutes to do a flyover, so that would mean something like 700 square kilometers (about 270 square miles). Luckily the City of Helsinki and National Land Survey of Finland are maintaining open-source databases for lidar 3D Obj-files. I combined orthography images by the NLSF and 3D objects, vola! – I had my first digital Helsinki inside Unreal Engine. At some point I used not just 3D tiles but elevation model TIFF-images to create ground.
It looked great, but how heavy it was! I had to clean up every tile in blender, import it back to Unreal Engine, create more LOD’s (level of details), enhance framerate by reducing the amount of data in 3D files, smaller and more compressed orthography image textures to tiles… It looked really good, but it was heavy and only had the suburban area, nothing beyond that. And, it was flat – every flat earth society member’s wet daydream 😀 So after a couple of nice demos I gave up. I simply didn’t have time to optimize and start implementing some automated process or API to request tiles directly from existing data sources.
Not so long ago I was following a live video from Epic about new features coming in Unreal Engine 4.26 – and there it was, Cesium! They had solved all these things, how to manage tiles, cache, WGS84 <> UE unit conversion, earth was round – oh man! When this will be out, I need to test this right away.
Fortunately it didn’t take long to have the latest update in Unreal Engine. I simply downloaded the demo project, migrated my previously created F/A-18 Hornet blueprint actor – and there it was! I changed the starting point to Helsinki-Vantaa airport, placed the Hornet on the runway and started screen recording, a flight from Helsinki to Hanko (about 125 Km west from Helsinki). All that within an hour, including the video edit!
The aircraft was built using EasyFlight plugin from Unreal Engine marketplace. Also briefly studied opensky-network.org API how to integrate real-time air traffic to the scene. This was an additional one hour, so two hours in total.
So, Cesium is bringing us the whole world – that is so crazy cool! You can start creating different solutions, create digital duplicates, sail across the seas, simulate rocket launched and aviation, change time and date, practice nightflying, do smart city plans and concepts, do games, do business, create multiplayer gaming and educational experiences, and much more.
If you have any questions or comments, feel free to contact me https://www.linkedin.com/in/samimheinonen/
Join us in celebrating 10 years of Geoawesomeness
On a cloudy afternoon in April 2011, after several weeks of deliberation, a Geospatial Technology student and my good friend, Aleksander Buczkowski opened his laptop in his dorm room in Munster, Germany, and wrote his first ever blog post.
On 20th of this month, 10 years have would have passed since the day the website went live. Never did we imagine that ten years later, more than 100 authors will contribute over 2000 articles to our project leading to more than 14 million page visits.
Aleks and I feel privileged to have the opportunity to network and interact with the wider geospatial community and to have a front row seat to witness and write about the tremendous growth of the industry.
Geoawesomeness was founded to illustrate, examine and celebrate the impact of geospatial technology and data on our lives. Now more than ever, we are convinced about the ability of Geospatial technology to transform the world for the better and we will continue to strive to be the essential source of information that helps makes sense of this transformation.
Collaboration and community have been at the centre of everything we do at Geoawesomeness and in that spirit, we want to celebrate this special milestone together with you on the 20th to take a look at the journey so far, discuss ideas for the future, how we can work together, our initiatives to support wonderful organisations including Humanitarian OpenStreetMap Team, MapAction, Women In Geospatial+ and answer any questions that you might have.
You can register for the live virtual event here. Hope you can join us!
Here’s to the future! Ad astra!
On behalf of all the wonderful people who make Geoawesomeness special,
Aleks and Muthu